This document presents some basic information that users need to know in order to use JED effectively. In addition, read system dependent documentation for information specific to a particular OS. Important Fact: (since many users missed this the first time) First of all, if you want emacs keybindings, the line "emacs.sl" evalfile must be be put in your jed.rc file (See next section). If you want to have edt keybindings, put "edt.sl" evalfile in your jed.rc (.jedrc) file. It is possible to have both, in which case, make sure the emacs file is loaded first. Startup Files: When JED is started up, it tries to load the file `site.sl' from the directory pointed to by the the environment variable JED_LIBRARY. This file contains startup information and site dependent defaults. Then JED tries to load the user's personal initialization file from thye user's HOME directory. On unix systems this file must be called `.jedrc' while on VMS and MSDOS, it goes by the name jed.rc. For VMS systems, the HOME directory corresponds to the SYS$LOGIN logical name while for the other two systems, it corresponds to the HOME environment variable. See the files slang.txt and custom.jed for more information about these files. File Types and Sizes: JED is a text editor-- this version does not edit binary files. Lines may be of arbitrary length however, they are wrapped at 500 characters for display purposes. It is capable of editing arbitrarily large buffers as ong as there is enough memory for the buffer as well as the overhead involved. This editor employs a linked list representation hence the overhead can be quite high. Backup and Autosave Files: On UNIX and MSDOS systems, JED creates backup files by appending a `~' character to the filename. The VMS operating system handles backup files itself. JED periodically autosaves its buffers. On UNIX and MSDOS, autosave files are prefixed with the pound sign `#'. On VMS, they are prefixed with `_$'. The autosave interval may be changed by the user by setting the variable MAX_HITS. The default is 300 ``hits'' on the buffer. A ``hit'' is defined as a key which MAY change the state of the buffer. Cursor movement keys do not cause hits on the buffer. On UNIX systems, JED catches most of the signals and tries to autosave its buffers in the event of a crash or if the phone hangs up. Windows: JED supports multiple windows. Each window may contain the same buffer or different buffers. A status line is displayed immediately below each window. The status line contains information such as the JED version number, the buffer name, and ``mode''. In addition, there is an indicator on the left part of the status line which indicates the whether the buffer has been changed since it was last written to disk. Modes: Jed supports two internal modes as well as user modes. The two internal modes consist of a ``C'' mode for C Language programming and a ``Wrap'' mode for ordinary text editing. --Wrap Mode-- In this mode, text is wrapped at the column given by the WRAP variable. The default is 78. The text does not wrap until the cursor reaches the right part of the screen and a space is inserted. Formatting paragraphs: Paragraphs delimiters are: blank lines, lines that have a percent character, `%', or a line that has a backslash character `\' in the first column. I do most of my ``word processing'' using TeX or LaTeX and this definition is ideally suited for this. The paragraph is formatted according to the indentation of the current line. If the current line is indented, the paragraph will be given the same indentation. --C Mode-- C Mode facilitates the editing of C files. Much of the latter part of the development of the JED editor was done using this mode. This mode may be customized by a judicious choice of the variables C_INDENT and C_BRACE as well as the bindings of the curly brace keys `{}'. Experiment to find what you like or write your own using the S-Lang interface. Miscellaneous: The control G key is special and should not be rebound. On the IBMPC, the keyboard interrupt 0x09 is hooked and a quit condition is signaled when it is pressed. For this reason, it cannot used in any keybindings. A similar statement holds for the other systems.