Liunx上ではjedというエディターを愛用しています。 Emacsライクなのですが、非常に軽量でちょっとした編集にはこれで十分です。
ぼくの場合はFreeBSDがOSのさくらインターネットのレンタルサーバーにもjedをインストールしてみました。
binutilsやm4, libtoolsなど一通りインストールするとすんなりコンパイルできるかも知れません。
目次
slang
slangが必要なので、まずslangをインストールします。
% wget https://www.jedsoft.org/releases/slang/slang-2.3.2.tar.bz2 % cd slang-2.3.2 % ./configure --prefix=$HOME/.local/ % make % make install
jed本体のインストール
configureではslangの場所を教えてあげます。
% wget https://www.jedsoft.org/releases/jed/jed-0.99-19.tar.bz2 % cd ../jed-0.99-19 % ./configure --prefix=%HOME/.local/ --with-slang=$HOME/.local/ % make % make install
.jedrc
そのままだと、かなり変な色使いなので、昔から使っている.jedrcをコピーしてきました。 もともとはdebianなのかな。
% User Initialization file for the JED editor -*- slang -*- % If a user does not have a startup file in the user's home directory, % JED will automatically load this from JED_LIBRARY. Thus is is easier % for a system manager to make defaults for all users. % Do not edit this file directly. Instead, copy it to your home % directory (sys$login:jed.rc on VMS or $HOME/.jedrc on Unix) and edit % the resulting file. % To uncomment a line, simply remove any leading '%' characters. % This file is divided into various sections. The first section pertains % to keybindings (e.g., Wordstar, Emacs, EDT, etc...) and the following % sections pertain to user preferences such as default TAB sizes, line % and column numbers on status line, colors, indentation style, etc... #ifdef KANJI % SLang_code = EUC; % () = evalfile("kinsoku"); % () = evalfile("jp-samp"); #endif if (BATCH == 0) { %---------------------------------------------------------------------- % Keybindings (not loaded for batch processes) % % Default bindings are Emacs-like with EDT emulation on Unix and VMS. % For the PC, only Emacs is enabled by default. If you do not want EDT % bindings, simply coment out the appropriate line. % % For Wordstar like bindings, comment out EDT and Emacs lines and % uncomment Wordstar line. A similar statement applies for BRIEF. % () = evalfile("emacs"); % Emacs-like bindings % () = evalfile("edt"); % EDT emulation % () = evalfile ("brief"); % Brief Keybindings (MSDOS only!!) % () = evalfile("wordstar"); % Wordstar % Note: For EDT emulation, jed386.exe requires that the GOLD.COM TSR % be loaded. This TSR is available from space.mit.edu:/pub/davis/jed. % What should the Ctrl-H key do?? % % setkey ("bol", "^H"); % causes ^H to go to beg of line (EDT) % setkey ("help_prefix", "^H"); % Uncomment to have Ctrl-H as help #ifdef XWINDOWS % See xjed.txt for information regarding the delete key under X Windows. % x_set_keysym (0xFFFF, 0, "\e[3~"); % setkey ("delete_char_cmd", "\e[3~"); #endif % !!!! ^S/^Q flow control problems !!!! % if you experience problems with JED suddenly going into search % for some reason then you are a victim of emacs brain dead binding of ^S % to search. TO prevent this from happening, either find out how to % prevent unwanted ^S/^Q characters or uncomment the next line: #ifdef UNIX %enable_flow_control (1); #endif %---------------------------------------------------------------------- % % TAB key setting -- by default, the tab key is bound to 'indent_line_cmd'. % If you want a real tab inserted, uncomment next line. % % setkey("self_insert_cmd", "^I"); %---------------------------------------------------------------------- % Initial help screen --- comment out to disable. % Note that for the help to be valid, it must occur AFTER bindings are % loaded. % help(); % Pops up a help window } %Batch %%%%%%%%%%%%%%%% top menu bar %%%%%%%%%%%%%%% % To disable it, uncomment the next line. % enable_top_status_line (0); %---------------------------------------------------------------------- % JED global variables --- defaults shown % #ifdef VMS UNIX %USE_ANSI_COLORS = 1; % if non-zero, JED will display colors on a color % terminal (Unix and VMS only) See doc/color.txt % for more discussion and look below for setting % the colors. #endif No_Backups = 0; % If non-zero, backup files will not be created. Startup_With_File = 1; % if greater then zero, force JED to prompt for a file % if none is specified on the command line. If % negative, inhibit startup message. DISPLAY_TIME = 1; % non-zero enables the time to be displayed on % status line, zero disables it. If this value % is -1, 24 hour time will be used. HIGHLIGHT = 1; % non-zero for region highlighting WANT_SYNTAX_HIGHLIGHT = 1; % Highlight syntax in C, Fortran, and TeX modes. % See section on colors % below for choosing how to highlight. On Unix and % VMS systems, USE_ANSI_COLORS must also be non-zero. HORIZONTAL_PAN = 20; % if zero, no automatic panning. If positive, only % the current line is panned. If negative, pan window. #ifdef MSDOS % For msdos, panning window might be better: HORIZONTAL_PAN = -1; #endif #ifdef MSDOS LINENUMBERS = 1; % A value of zero means do NOT display line number on #else % status line line. A value of 1, means to display LINENUMBERS = 2; % the linenumber. A value greater than 1 will also #endif % display column number information. I recommend a % value of 2 only at high baud rates BLINK = 1; % if non zero, blink matching parenthesis TAB_DEFAULT = 8; % Tab size (also try edit_tab_stops) WRAP = 78; % wrap column ADD_NEWLINE = 1; % add newline to file when writing if one not present IGNORE_BEEP = 3; % Beep terminal during error messages--- % 1 == sound only, 2 = visible bell only, 3 = both _traceback = 0; % Non zero means dump traceback on S-Lang errors WRAP_INDENTS = 0; % Non zero indents next line after wrapping current. % Make this a 1 if you want indented text mode. CASE_SEARCH = 0; % zero turns off case sensitivity for % search functions, non-zero turns it on %KILL_LINE_FEATURE = 0; % If non-zero, kill line will kill through end of the % line if Point is at the beginning of the line. For % emacs-like behavior, set this to zero. REPLACE_PRESERVE_CASE = 1; % If non-zero, replace operations will attempt to % match the case of the replaced string. #ifndef MSDOS OS2 OUTPUT_RATE = 0; % Should be set automatically by JED. It is the % of chars sent to terminal / second. (0 = Infinity) % % If JED pauses during screen updates, then you need % to set your baud rate properly or simply set this % variable to zero. JED is not slow, rather it assumes % your terminal is, so JED sleeps when writing to the % terminal. By default, this is set to zero. I % suggest that you comment it out and let JED set it % ASSUMING YOUR BAUD RATE IS CORRECT. For example, on % Unix, enter 'stty 2400' at the shell prompt to set % the baud rate to 2400. Setting this variable % properly will synchronize JED's screen writes to % your terminal output rate for increased performance. #endif %--------------------------------------------------------------------------- % C-mode variables: %--------------------------------------------------------------------------- C_INDENT = 3; % amount of space to indent within block. C_BRACE = 2; % amount of space to indent brace C_BRA_NEWLINE = 0; % If non-zero, insert a newline first before inserting % a '{'. Many C programmers like this to be 0. A zero % value will force '{' to be on same line as insertion. % The jed source code uses 1 for this variable. % Note that in C mode, the keys '{' and '}' are bound % to the commands 'brace_bra_cmd' and 'brace_ket_cmd' % respectively. C_Colon_Offset = 1; % Controls the indentation of case statements. C_CONTINUED_OFFSET = 2; % This variable controls the indentation of statements % that are continued onto the next line. %--------------------------------------------------------------------------- #ifdef UNIX % JED Email. JED uses the UC Berkeley mail program for Email. Most systems % have this. Try ^Xm mail and you get an error, uncomment this next line % restart JED and try again. This is definitely the case for Linux. Again, % only uncomment out this line if mail fails! % variable UCB_Mailer; UCB_Mailer = "/bin/mail"; #endif #ifdef MSDOS XWINDOWS % Alt-key handling. Setting this variable controls how the % Alt key is handled. By default it is set to 27 (Ascii ESCAPE). This means % that any key pressed in conjunction with the alt key produces ESCAPE % followed by the key itself. If ALT-X is pressed, an ESCAPE-X is generated. % Set it to zero to turn off Alt key processing. On XWindow systems, setting % this to zero will cause the high bit to be set on the character. % ALT_CHAR = 27; #endif % Mute (dead or accent) keys % Valid Mute keys are: % ^, ~, ', `, \d168 (ISO Diaeresis), \d180 (ISO Acute), and \". % This means pressing this key then the key you want to accent yields % the accented character. If you do not know what this is, you do not % need them. By default, they are turned off. %mute_set_mute_keys (" ^ ~ ' ` \d168 \d180 \" "); % choose all or subset % % 8 bit stuff -- see documentation for a complete discussion % META_CHAR = -1; % All chars with hi bit set will self insert #ifdef MSDOS OS2 KANJI DISPLAY_EIGHT_BIT = 1; #else DISPLAY_EIGHT_BIT = 160; % Other systems assume ISO Latin 1 #endif #ifndef XWINDOWS % COLORS: % % Note that to use the colors below with MS-Kermit, do % 'set term color 30 47' at the MS-Kermit prompt. % (See the file 'colors.txt' for a description of using JED with color % terminals.) % Foreground and background: % "black", "blue", "green", "cyan", "red", "magenta", "brown", "lightgray" % Foreground Only: % "gray", "brightblue", "brightgreen", "brightcyan", "brightred", % "brightmagenta", "yellow", "white" % This is a limitation of video adapters on PC systems. For MSDOS, I % reprogram the controller so that high intensity background colors may be % displayed. There does not seem to be a way to do this in MS-Kermit. #ifdef UNIX VMS TERM_BLINK_MODE = 0; #endif $1 = "black"; $2 = "white"; set_color("menu", "white", "blue"); % menu bar set_color("normal", $1, $2); % default fg/bg set_color("status", "yellow", "blue"); % status or mode line set_color("region", "yellow", "brightmagenta");% for marking regions set_color("operator", $1, $2); % +, -, etc.. set_color("number", "brightblue", $2); % 10, 2.71,... TeX formulas set_color("comment", "magenta", "brightcyan"); % /* comment */ set_color("string", "brightblue", $2); % "string" or 'char' set_color("keyword", "brightred", $2); % if, while, unsigned, ... set_color("keyword1", "green", $2); % malloc, exit, etc... set_color("delimiter", $1, $2); % {}[](),.;... set_color("preprocess", "magenta", $2); % #ifdef .... set_color("message", "blue", $2); % color for messages set_color("error", "brightred", $2); % color for errors set_color("dollar", "magenta", $2); % color dollar sign continuation set_color("...", "red", $2); % folding indicator #ifdef UNIX VMS if (USE_ANSI_COLORS) call ("redraw"); #else call("redraw"); #endif #endif XWindows #ifdef UNIX % % Terminal type. By default, on Unix termcap is used. However, some % (if not all) termcaps do not include AL, DL strings for vtxxx terminals. % % True blue vt100 terminals cannot insert and delete lines so the AL and DL % termcap entries are not appropriate for them. However, almost no one % uses a true vt100 terminal anymore but they set their TERM variable to % vt100 just the same. If you do not like the way your terminal scrolls, % and it is more than a vt100, either set your TERM variable appropriately % or add vt100 to the list below. % $1 = "vt102 vt200 vt220 vt300 vt320 vt420 xterms"; if (is_substr($1, getenv("TERM"))) set_term_vtxxx(0); #endif % Compiler interface --- uncomment one of the following: % compile_parse_error_function = "gcc"; % GNU compiler % compile_parse_error_function = "Ultrix_cc"; % cc on Ultrix % compile_parse_error_function = "bcc"; % Borlands BCC % compile_parse_error_function = "sun_acc"; % SunOS C++ and ACC % compile_parse_error_function = "hp_cc"; % HPUX cc % % Hooks: read jed/doc/hooks.sl for more information % define dired_hook () { local_unsetkey ("^K"); local_setkey ("dired_kill_line", "^K"); } %define text_mode_hook () %{ %} % %define fortran_hook () %{ %} % %define tex_mode_hook () %{ %} % %define c_mode_hook () %{ %} % %define mail_hook () %{ % local_unsetkey ("^C"); % local_setkey ("send", "^C^C"); %emacs-like %} % %define slang_mode_hook () %{ %} % %define dired_mode_hook () %{ %} %----------------------------------------------------------------------- % % Insert contents of other window % define insert_other_window() { if (nwindows() != 2) return; otherwindow(); whatbuf(); otherwindow(); insbuf(); } #ifdef KANJI autoload("skk", "skk"); setkey("skk", "^X^J"); %setkey("jskip_word", "\ef"); %setkey("jbskip_word", "\eb"); auto_file_code(TRUE); %KANJI_DETECT = 1; % default: 2 #ifdef CANNA autoload("canna_mode", "canna"); setkey("canna_mode", "^\\"); % Already defined in $JED_ROOT/lib/canna.sl #endif #ifdef VMS UNIX % UNIX default is EUC already set in Jed-j %set_default_kanji_fileio_code(JIS); %set_kanji_fileio_code(JIS); %set_kanji_input_code(JIS); %set_kanji_display_code(JIS); %han_to_zen = TRUE; % Hankaku -> Zenkaku Convert flag #else %set_default_kanji_fileio_code(SJIS); %set_kanji_fileio_code(SJIS); %set_kanji_input_code(SJIS); %set_kanji_display_code(SJIS); %han_to_zen = FALSE; #endif %KfioAuto = FALSE; %file_kanjicode_detect = FALSE; #endif