% 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... 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. % evalfile("emacs"); pop(); % Emacs-like bindings #ifndef MSDOS OS2 evalfile("edt"); pop(); % EDT--- Unix and VMS % setkey ("bol", "^H"); % causes ^H to go to beg of line (EDT) #else % evalfile("edt"); pop(); % EDT--- IBMPC #endif % evalfile("wordstar"); pop(); % Wordstar % !!!! ^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: %enable_flow_control (1); %---------------------------------------------------------------------- % % 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-- bound to Control-H Control-H } %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 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 = 2; % A value of zero means do NOT display line number on #else % status line line. A value of 1, means to display LINENUMBERS = 1; % 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. %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. #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. % Note that in C mode, the keys '{' and '}' are bound % to the commands 'brace_bra_cmd' and 'brace_ket_cmd' % respectively. '}' '}' variable C_No_Brace_Offset = 1; % Set this variable to the amount of EXTRA space to % add for the indentation of lines following 'if', % 'else', etc.... Try 0 if you set C_BRA_NEWLINE to % 1. #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 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. $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("delimeter", $1, $2); % {}[](),.;... set_color("preprocess", "magenta", $2); % #ifdef .... #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 variable compile_parse_error_function; % % 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 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(); }