473 lines
18 KiB
Groff
473 lines
18 KiB
Groff
|
||
|
||
|
||
|
||
|
||
Command: elle - ELLE Looks Like Emacs
|
||
Syntax: elle file [file2]
|
||
Flags: (none)
|
||
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.
|
||
|
||
|
||
Key bindings
|
||
|
||
|
||
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.
|
||
|
||
|
||
Mined Commands
|
||
|
||
|
||
If the mined profile, .ellepro.b1 is installed in your home
|
||
directory, the following commands will work.
|
||
|
||
CURSOR MOTION
|
||
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
|
||
|
||
SCREEN MOTION
|
||
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
|
||
file)
|
||
PgDn key Scroll window down 22 lines (closer to end of the
|
||
file)
|
||
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
|
||
|
||
MODIFYING TEXT
|
||
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)
|
||
|
||
REGIONS
|
||
CTRL-^ Set mark at current position for use with CTRL-C
|
||
and CTRL-K
|
||
CTRL-C Copy the text between the mark and the cursor into
|
||
the buffer
|
||
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
|
||
the cursor
|
||
|
||
MISCELLANEOUS
|
||
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
|
||
end)
|
||
CTRL-L Replace pattern with string within the current line
|
||
only
|
||
CTRL-W Write the edited file back to the disk
|
||
CTRL-S Fork off a shell (use CTRL-D to get back to the
|
||
editor)
|
||
CTRL-G Abort whatever the editor was doing and wait for
|
||
command (CTRL-)
|
||
CTRL-E Redraw screen with cursor line positioned in the
|
||
middle
|
||
CTRL-V Visit (edit) a new file
|
||
CTRL-Q Write buffer to a file
|
||
ESC X Exit the editor
|
||
|
||
|
||
Non-Mined Commands
|
||
|
||
CURSOR MOTION
|
||
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
|
||
|
||
MODIFYING TEXT
|
||
CTRL-\ Insert the next character (used for inserting
|
||
control characters)
|
||
ESC T Transpose characters
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ESC W Transpose words
|
||
ESC = Delete white space (horizontal space)
|
||
ESC | Delete blank lines (vertical space)
|
||
|
||
REGIONS
|
||
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
|
||
|
||
KEYBOARD MACROS
|
||
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
|
||
|
||
WINDOW MANAGEMENT
|
||
^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
|
||
|
||
BUFFER MANAGEMENT
|
||
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
|
||
is)
|
||
|
||
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
|
||
case
|
||
ESC L Set entire region between mark and cursor to lower
|
||
case
|
||
|
||
MISCELLANEOUS
|
||
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 ?
|
||
for options)
|
||
ESC R Reset the user profile from a file
|
||
ESC H Help (ELLE prompts for the 1 or 2 character command
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
to describe)
|
||
ESC ; Insert a comment in a C program (generates /* */
|
||
for you)
|
||
^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
|
||
itself are:
|
||
|
||
1. The definition of a 'word' is different for forward and backward
|
||
word
|
||
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.
|
||
|
||
CURSOR MOVEMENT
|
||
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.
|
||
|
||
DELETING
|
||
CTRL-D Deletes forward one character (the one the cursor
|
||
is under).
|
||
DELETE Deletes backward one character (the one to left of
|
||
cursor).
|
||
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
|
||
cursor).
|
||
ESC \ Deletes spaces around the cursor.
|
||
^X CTRL-O Deletes blank lines around the cursor.
|
||
|
||
CASE CHANGE
|
||
ESC C Capitalizes word : first letter becomes uppercase;
|
||
rest lower
|
||
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
|
||
match.
|
||
^S, ^R - Repeat search (or change direction).
|
||
ESC or CR - Exit I-search at current point.
|
||
|
||
ESC % Query Replace. Interactive replace. Type '?' to see
|
||
options.
|
||
^X % Replace String. Like Query Replace, but not
|
||
interactive
|
||
|
||
MARKING AREAS
|
||
CTRL-^ Set mark
|
||
^X CTRL-X Exchange cursor and mark.
|
||
ESC H Mark Paragraph. Sets mark and cursor to surround a
|
||
para.
|
||
CTRL-W Wipe-out -- kills a 'region':
|
||
ESC W Copy region. Like CTRL-W then CTRL-Y but modifies
|
||
buffer
|
||
CTRL-Y Yanks-back (un-kills) whatever you have most
|
||
recently killed.
|
||
ESC Y Yanks-back (un-kills) the next most recently killed
|
||
text.
|
||
ESC CTRL-W Append Next Kill. Accumulates stuff from several
|
||
kills
|
||
|
||
FILLING TEXT
|
||
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.
|
||
|
||
WINDOWS
|
||
^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.
|
||
|
||
BUFFERS
|
||
^X CTRL-F Find a file and make a buffer for it.
|
||
^X B Select Buffer: goes to specified buffer or makes
|
||
new one
|
||
^X CTRL-B Show the names of the buffers used in this editing
|
||
session.
|
||
^X K Kill Buffer.
|
||
ESC tilde Say buffer is not modified.
|
||
^X CTRL-M Toggle EOL mode (per-buffer flag).
|
||
|
||
KEYBOARD MACRO
|
||
^X ( Start collecting a keyboard macro.
|
||
^X ) Stop collecting.
|
||
^X E Execute the collected macro.
|
||
^X * Display the collected macro.
|
||
|
||
FILES
|
||
^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.
|
||
|
||
MISCELLANEOUS
|
||
^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
|
||
is.
|
||
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
|
||
online)
|
||
|
||
UNUSED CONTROLS
|
||
CTRL-C Not used.
|
||
CTRL-Z Not used.
|
||
CTRL-] Not used.
|
||
|
||
|
||
|
||
ELLE profile
|
||
|
||
It is possible to create your own user profile. The mechanism is
|
||
different from Emacs, since ELLE does not have Mock Lisp. Proceed as
|
||
follows.
|
||
|
||
|
||
Modify .ellepro.e to suit your taste.
|
||
|
||
Install .ellepro.e in your home directory.
|
||
|
||
Type:
|
||
|
||
ellec -Profile
|
||
|
||
|
||
Check to see if .ellepro.b1 has been created. If it has, you are
|
||
ready to go.
|
||
|
||
|
||
Author
|
||
|
||
ELLE was written by Ken Harrenstien of SRI (klh@sri.com).
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|