Command: elle - ELLE Looks Like Emacs
Syntax: elle file [file2]
Example: elle file.c # Start the editor
ELLE (ELLE Looks Like Emacs) is an Emacs clone for MINIX. ELLE is
not full Emacs but it has about 80 commands and is quite fast.
Mined only has a small number of commands. All of them are either
of the form CTRL-x or are on the numeric keypad. Emacs, in contrast,
has so many commands, that not only are all the CTRL-x commands used up,
but so are all the ESC x (escape followed by x; escape is not a shift
character, like CTRL). Even this is not enough, so CTRL-X is used as a
prefix for additional commands. Thus CTRL-X CTRL-L is a command, and so
is CTRL-X K. Note that what is conventionally written as CTRL-X K
really means CTRL-X k. In some contexts it is traditional to write
CTRL-X as ^X. Please note that they mean the same thing.
As a result, many Emacs commands need three or four key strokes to
execute. Some people think 3-4 key strokes is too many. For this
reason, Emacs and ELLE allow users to assign their own key bindings. In
ELLE this is done with 'user profiles.' A user profile is a file
listing which function is invoked by which key stroke. The user profile
is then compiled by a program called ellec into binary form. When ELLE
starts up it checks to see if a file .ellepro.b1 exists in $HOME. If it
does, this file is read in and overrides the default bindings.
A user profile that simulates the mined commands fairly well is
provided. Its installation is described later. If you have never used
Emacs, it is suggested that you use the mined profile. If you normally
use Emacs, then do not install the mined profile. You can also make
your own using ellec. There is no Mock Lisp.
ELLE has a character-oriented view of the world, not a line
oriented view, like ed. It does not have magic characters for searching.
However, you can use line feed in search patterns. For example, to find
a line consisting of the three characters 'foo' all by themselves on a
line, using the mined bindings (see below), use the pattern: CTRL-\
CTRL-J f o o CTRL-\ CTRL-J. The CTRL- means to interpret the next
character literally, in this case it is CTRL-J, which is line feed. You
can also search for patterns involving multiple lines. For example, to
find a line ending in an 'x' followed by a line beginning with a 'y',
use as pattern: x CTRL- CTRL-J y.
Mined Key Bindings
These are the key bindings if the binary user profile, .ellepro.b1,
is installed in $HOME. The ESCAPE key followed by a number followed by
a command causes that command to be executed 'number' times. This
applies both to control characters and insertable characters. CTRL-X
refers to a 'control character.' ESC x refers to an escape character
followed by x. In other words, ^X is a synonym for CTRL-X. ^X Y refers
to CTRL-X followed by y. To abort the current command and go back to
the main loop of the editor, type CTRL-G, rather than CTRL-\.
Only a few commands are of the form CTRL-X Y. All of these are
also bound to CTRL-X CTRL-Y, so you can hold down CTRL and then hit X Y,
or release control after the X, as you prefer.
The key bindings that are not listed should not be used. Some of
them actually do things. For example, the ANSI escape codes ESC [ x are
bound to ^X Y for a variety of y.
Some commands work on regions. A region is defined as the text
between the most recently set mark and the cursor.
If the mined profile, .ellepro.b1 is installed in your home
directory, the following commands will work.
arrows Move the cursor in the indicated direction
CTRL-A Move cursor to start of current line
CTRL-Z Move cursor to end of current line
CTRL-F Move cursor forward word
CTRL-B Move cursor backward to start of previous word
Home key Move to first character of the file
End key Move to last character of the file
PgUp key Scroll window up 22 lines (closer to start of the
PgDn key Scroll window down 22 lines (closer to end of the
CTRL-U Scroll window up 1 line
CTRL-D Scroll window down 1 line
ESC , Move to top of screen
CTRL-_ Move to bottom of screen
DEL key Delete the character under the cursor
Backsp Delete the character to left of the cursor
CTRL-N Delete the next word
CTRL-P Delete the previous word
CTRL-T Delete tail of line (all characters from cursor to
end of line)
CTRL-O Open up the line (insert line feed and back up)
ESC G Get and insert a file at the cursor position (CTRL-
G in mined)
CTRL-^ Set mark at current position for use with CTRL-C
CTRL-C Copy the text between the mark and the cursor into
CTRL-K Delete text between mark and cursor; also copy it
to the buffer
CTRL-Y Yank contents of the buffer out and insert it at
numeric + Search forward (prompts for expression)
numeric - Search backward (prompts for expression)
CTRL-] ESC n CTRL-[ goes to line n (slightly different
syntax than mined)
CTRL-R Global replace pattern with string (from cursor to
CTRL-L Replace pattern with string within the current line
CTRL-W Write the edited file back to the disk
CTRL-S Fork off a shell (use CTRL-D to get back to the
CTRL-G Abort whatever the editor was doing and wait for
CTRL-E Redraw screen with cursor line positioned in the
CTRL-V Visit (edit) a new file
CTRL-Q Write buffer to a file
ESC X Exit the editor
ESC P Forward paragraph (a paragraph is a line beginning
with a dot)
ESC ] Backward paragraph
ESC . Indent this line as much as the previous one
CTRL-\ Insert the next character (used for inserting
ESC T Transpose characters
ESC W Transpose words
ESC = Delete white space (horizontal space)
ESC | Delete blank lines (vertical space)
ESC M Mark current paragraph
ESC ^ Exchange cursor and mark
ESC Y Yank back the next-to-the-last kill (CTRL-Y yanks
the last one)
ESC A Append next kill to kill buffer
ESC / Start Keyboard Macro
ESC \ End Keyboard Macro
ESC * View Keyboard Macro (the PrtSc key on the numeric
pad is also a *)
ESC E Execute Keyboard Macro
^X 1 Enter one window mode
^X 2 Enter two window mode
^X L Make the current window larger
^X P Make the window more petit/petite (Yes, Virginia,
they are English)
^X N Next window
^X W New window
numeric 5 Display the list of current files and buffers
ESC B Select a buffer
ESC S Select an existing buffer
ESC N Mark a buffer as NOT modified (even if it really
UPPER AND LOW CASE MANIPULATION
ESC I Set first character of word to upper case
ESC C Capitalize current word
ESC O Make current word ordinary (i.e., lower case)
ESC U Set entire region between mark and cursor to upper
ESC L Set entire region between mark and cursor to lower
ESC F Find file and read it into its own buffer
ESC Z Incremental search
ESC Q Like CTRL-R, but queries at each occurrence (type ?
ESC R Reset the user profile from a file
ESC H Help (ELLE prompts for the 1 or 2 character command
ESC ; Insert a comment in a C program (generates /* */
^X X Exit the editor (same as ESC X and CTRL-X CTRL-X)
The major differences between ELLE with the mined profile and mined
1. The definition of a 'word' is different for forward and backward
2. The mark is set with CTRL-^ instead of CTRL-@
3. Use CTRL-G to abort a command instead of CTRL-\
4. Use CTRL- to literally insert the next character, instead of ALT
5. CTRL-E adjusts the window to put the cursor in the middle of it
6. To get and insert a file, use ESC G instead of CTRL-G
7. To go to line n, type ESC n CTRL-[ instead of CTRL-[ n
8. You exit with CTRL-X CTRL-X and then answer the question with 'y'.
9. There are many new commands, windows, larger files, etc.
Emacs Key Bindings
If you do not have the mined profile installed, you get the
standard Emacs key bindings. These are listed below. Commands not
listed are not implemented.
CTRL-F Forward one character.
CTRL-B Backward one character.
CTRL-H Same as CTRL-B: move backward one character.
ESC F Forward one word.
ESC B Backward one word.
CTRL-A Beginning of current line.
CTRL-E End of current line.
CTRL-N Next line (goes to the next line).
CTRL-P Previous line (goes to the previous line).
CTRL-V Beginning of next screenful.
ESC V Beginning of previous screenful.
ESC ] Forward Paragraph.
ESC [ Backward Paragraph.
ESC < Beginning of whole buffer.
ESC > End of whole buffer.
CTRL-D Deletes forward one character (the one the cursor
DELETE Deletes backward one character (the one to left of
ESC D Kills forward one word.
ESC DEL Kills backward one word.
CTRL-K Kills the rest of the line (to the right of the
ESC \ Deletes spaces around the cursor.
^X CTRL-O Deletes blank lines around the cursor.
ESC C Capitalizes word : first letter becomes uppercase;
ESC L Makes the whole next word lowercase.
ESC U Makes the whole next word uppercase.
^X CTRL-L Makes whole region lowercase.
^X CTRL-U Makes whole region uppercase.
SEARCHING (If no string is given, previous string is used)
CTRL-S Incremental Search forward; prompts 'I-search:'
CTRL-R Reverse Incremental Search; prompts 'R-search:'
During an incremental search, the following
characters have special effects:
'normal' - Begin searching immediately.
^G - Cancel I-search, return to start.
DEL - Erase last char, return to last
^S, ^R - Repeat search (or change direction).
ESC or CR - Exit I-search at current point.
ESC % Query Replace. Interactive replace. Type '?' to see
^X % Replace String. Like Query Replace, but not
CTRL-^ Set mark
^X CTRL-X Exchange cursor and mark.
ESC H Mark Paragraph. Sets mark and cursor to surround a
CTRL-W Wipe-out -- kills a 'region':
ESC W Copy region. Like CTRL-W then CTRL-Y but modifies
CTRL-Y Yanks-back (un-kills) whatever you have most
ESC Y Yanks-back (un-kills) the next most recently killed
ESC CTRL-W Append Next Kill. Accumulates stuff from several
ESC Q Fill the paragraph to the size of the Fill Column.
ESC G Fill the region.
^X F Set Fill Column. ESC Q will use this line size.
^X . Set Fill Prefix. Asks for prefix string
^X T Toggles Auto Fill Mode.
^X 2 Make two windows (split screen).
^X 1 Make one window (delete window) (make one screen).
^X O Go to Other window.
^X ^ Grow window: makes current window bigger.
^X CTRL-F Find a file and make a buffer for it.
^X B Select Buffer: goes to specified buffer or makes
^X CTRL-B Show the names of the buffers used in this editing
^X K Kill Buffer.
ESC tilde Say buffer is not modified.
^X CTRL-M Toggle EOL mode (per-buffer flag).
^X ( Start collecting a keyboard macro.
^X ) Stop collecting.
^X E Execute the collected macro.
^X * Display the collected macro.
^X CTRL-I Insert a file where cursor is.
^X CTRL-R Read a new file into current buffer.
^X CTRL-V Same as ^X ^R above (reads a file).
^X CTRL-W Write buffer out to new file name.
^X CTRL-S Save file: write out buffer to its file name.
^X CTRL-E Write region out to new file name.
^X CTRL-Z Exit from ELLE.
^X ! Escape to shell (CTRL-D to return)
CTRL-O Open up line
LINEFEED Same as typing RETURN and TAB.
CTRL-T Transposes characters.
ESC T Transposes words.
CTRL-U Makes the next command happen four times.
CTRL-U number Makes the next command happen 'number' times.
ESC number Same as CTRL-U number.
CTRL-L Refreshes screen.
CTRL-U CTRL-L Refresh only the line cursor is on.
CTRL-U n CTRL-L Change window so the cursor is on line n
CTRL-Q Quote: insert the next character no matter what it
CTRL-G Quit: use to avoid answering a question.
ESC ; Inserts comment (for writing C programs).
ESC I Inserts indentation equal to previous line.
ESC M Move to end of this line's indentation.
CTRL-_ Describe a command (if the command database is
CTRL-C Not used.
CTRL-Z Not used.
CTRL-] Not used.
It is possible to create your own user profile. The mechanism is
different from Emacs, since ELLE does not have Mock Lisp. Proceed as
Modify .ellepro.e to suit your taste.
Install .ellepro.e in your home directory.
Check to see if .ellepro.b1 has been created. If it has, you are
ready to go.
ELLE was written by Ken Harrenstien of SRI (email@example.com).