3 .CD "elle \(en ELLE Looks Like Emacs"
4 .SX "elle \fIfile\fR [\fIfile2\fR]"
6 .EY "elle file.c" "Start the editor"
8 \fIELLE\fR (ELLE Looks Like Emacs) is an Emacs clone for
10 ELLE is not full Emacs but it has about 80 commands and is quite fast.
15 \fIMined\fR only has a small number of commands. All of them are either of
16 the form CTRL-x or are on the numeric keypad. Emacs, in contrast, has so
17 many commands, that not only are all the CTRL-x commands used up, but so
18 are all the ESC x (escape followed by x; escape is not a shift character,
19 like CTRL). Even this is not enough, so CTRL-X is used as a prefix for
20 additional commands. Thus CTRL-X CTRL-L is a command, and so is CTRL-X K.
21 Note that what is conventionally written as CTRL-X K really means CTRL-X k.
22 In some contexts it is traditional to write CTRL-X as ^X.
23 Please note that they mean the same thing.
25 As a result, many Emacs commands need three or four key strokes to
26 execute. Some people think 3-4 key strokes is too many.
27 For this reason, Emacs and ELLE allow users to assign their own key bindings.
28 In ELLE this is done with \*(OQuser profiles.\*(CQ A user profile is a file listing
29 which function is invoked by which key stroke. The user profile is then
30 compiled by a program called ellec into binary form. When ELLE starts up
31 it checks to see if a file .ellepro.b1 exists in $HOME. If it does, this
32 file is read in and overrides the default bindings.
34 A user profile that simulates the \fImined\fR commands fairly
36 Its installation is described later. If you have never used Emacs,
37 it is suggested that you use the \fImined\fR profile.
38 If you normally use Emacs, then
39 do not install the \fImined\fR profile. You can also make your own using
41 There is no Mock Lisp.
43 ELLE has a character-oriented view of the world, not a line oriented
45 It does not have magic characters for searching.
46 However, you can use line feed in search patterns.
47 For example, to find a line consisting of the three characters
48 \*(OQfoo\*(CQ all by themselves on a line, using the mined
49 bindings (see below), use the pattern: CTRL-\\ CTRL-J f o o CTRL-\\ CTRL-J.
50 The CTRL-\ means to interpret the next character literally, in this case it
51 is CTRL-J, which is line feed. You can also search for patterns involving
52 multiple lines. For example, to find a line ending in an \*(OQx\*(CQ followed by a
53 line beginning with a \*(OQy\*(CQ, use as pattern: x CTRL-\ CTRL-J y.
54 .SS "Mined Key Bindings"
56 These are the key bindings if the binary user profile, \fI.ellepro.b1\fR,
57 is installed in $HOME. The ESCAPE key followed by a number followed by a
58 command causes that command to be executed \*(OQnumber\*(CQ times. This applies
59 both to control characters and insertable characters. CTRL-X refers to a
60 \*(OQcontrol character.\*(CQ ESC x refers to an escape character
62 In other words, ^X is a synonym for CTRL-X.
63 ^X Y refers to CTRL-X followed by y. To abort the current command and go
64 back to the main loop of the editor, type CTRL-G, rather than CTRL-\\.
66 Only a few commands are of the form CTRL-X Y. All of these are also
67 bound to CTRL-X CTRL-Y, so you can hold down CTRL and then hit X Y, or
68 release control after the X, as you prefer.
70 The key bindings that are not listed should not be used.
71 Some of them actually do things.
72 For example, the ANSI escape codes ESC [ x are bound
73 to ^X Y for a variety of y.
75 Some commands work on regions.
76 A region is defined as the text between the most recently set mark
82 If the \fImined\fR profile,
84 is installed in your home directory, the following commands will work.
91 arrows Move the cursor in the indicated direction
93 CTRL-A Move cursor to start of current line
95 CTRL-Z Move cursor to end of current line
97 CTRL-F Move cursor forward word
99 CTRL-B Move cursor backward to start of previous word
104 Home key Move to first character of the file
106 End key Move to last character of the file
108 PgUp key Scroll window up 22 lines (closer to start of the file)
110 PgDn key Scroll window down 22 lines (closer to end of the file)
112 CTRL-U Scroll window up 1 line
114 CTRL-D Scroll window down 1 line
116 ESC , Move to top of screen
118 CTRL-_ Move to bottom of screen
123 DEL key Delete the character under the cursor
125 Backsp Delete the character to left of the cursor
127 CTRL-N Delete the next word
129 CTRL-P Delete the previous word
131 CTRL-T Delete tail of line (all characters from cursor to end of line)
133 CTRL-O Open up the line (insert line feed and back up)
135 ESC G Get and insert a file at the cursor position (CTRL-G in mined)
140 CTRL-^ Set mark at current position for use with CTRL-C and CTRL-K
142 CTRL-C Copy the text between the mark and the cursor into the buffer
144 CTRL-K Delete text between mark and cursor; also copy it to the buffer
146 CTRL-Y Yank contents of the buffer out and insert it at the cursor
151 numeric + Search forward (prompts for expression)
153 numeric \(mi Search backward (prompts for expression)
155 CTRL-] ESC n CTRL-[ goes to line n (slightly different syntax than mined)
157 CTRL-R Global replace pattern with string (from cursor to end)
159 CTRL-L Replace pattern with string within the current line only
161 CTRL-W Write the edited file back to the disk
163 CTRL-S Fork off a shell (use CTRL-D to get back to the editor)
165 CTRL-G Abort whatever the editor was doing and wait for command (CTRL-\)
167 CTRL-E Redraw screen with cursor line positioned in the middle
169 CTRL-V Visit (edit) a new file
171 CTRL-Q Write buffer to a file
173 ESC X Exit the editor
176 .SS "Non-Mined Commands"
184 ESC P Forward paragraph (a paragraph is a line beginning with a dot)
186 ESC ] Backward paragraph
188 ESC . Indent this line as much as the previous one
193 CTRL-\\ Insert the next character (used for inserting control characters)
195 ESC T Transpose characters
197 ESC W Transpose words
199 ESC = Delete white space (horizontal space)
201 ESC | Delete blank lines (vertical space)
206 ESC M Mark current paragraph
208 ESC ^ Exchange cursor and mark
210 ESC Y Yank back the next-to-the-last kill (CTRL-Y yanks the last one)
212 ESC A Append next kill to kill buffer
215 \fBKEYBOARD MACROS\fR
217 ESC / Start Keyboard Macro
219 ESC \\ End Keyboard Macro
221 ESC * View Keyboard Macro (the PrtSc key on the numeric pad is also a *)
223 ESC E Execute Keyboard Macro
226 \fBWINDOW MANAGEMENT\fR
228 ^X 1 Enter one window mode
230 ^X 2 Enter two window mode
232 ^X L Make the current window larger
234 ^X P Make the window more petit/petite (Yes, Virginia, they are English)
241 \fBBUFFER MANAGEMENT\fR
243 numeric 5 Display the list of current files and buffers
245 ESC B Select a buffer
247 ESC S Select an existing buffer
249 ESC N Mark a buffer as NOT modified (even if it really is)
252 \fBUPPER AND LOW CASE MANIPULATION\fR
254 ESC I Set first character of word to upper case
256 ESC C Capitalize current word
258 ESC O Make current word ordinary (i.e., lower case)
260 ESC U Set entire region between mark and cursor to upper case
262 ESC L Set entire region between mark and cursor to lower case
267 ESC F Find file and read it into its own buffer
269 ESC Z Incremental search
271 ESC Q Like CTRL-R, but queries at each occurrence (type ? for options)
273 ESC R Reset the user profile from a file
275 ESC H Help (ELLE prompts for the 1 or 2 character command to describe)
277 ESC ; Insert a comment in a C program (generates /* */ for you)
279 ^X X Exit the editor (same as ESC X and CTRL-X CTRL-X)
283 The major differences between ELLE
284 with the \fImined\fR profile and \fImined\fR itself are:
288 1. The definition of a \*(OQword\*(CQ is different for forward and backward word
289 2. The mark is set with CTRL-^ instead of CTRL-@
290 3. Use CTRL-G to abort a command instead of CTRL-\\
291 4. Use CTRL-\ to literally insert the next character, instead of ALT
292 5. CTRL-E adjusts the window to put the cursor in the middle of it
293 6. To get and insert a file, use ESC G instead of CTRL-G
294 7. To go to line n, type ESC n CTRL-[ instead of CTRL-[ n
295 8. You exit with CTRL-X CTRL-X and then answer the question with \*(OQy\*(CQ.
296 9. There are many new commands, windows, larger files, etc.
300 .SS "Emacs Key Bindings"
302 If you do not have the \fImined\fR profile installed, you get the standard
304 These are listed below.
305 Commands not listed are not implemented.
310 \fBCURSOR MOVEMENT\fR
312 CTRL-F Forward one character.
314 CTRL-B Backward one character.
316 CTRL-H Same as CTRL-B: move backward one character.
318 ESC F Forward one word.
320 ESC B Backward one word.
322 CTRL-A Beginning of current line.
324 CTRL-E End of current line.
326 CTRL-N Next line (goes to the next line).
328 CTRL-P Previous line (goes to the previous line).
330 CTRL-V Beginning of next screenful.
332 ESC V Beginning of previous screenful.
334 ESC ]~ Forward Paragraph.
336 ESC [~ Backward Paragraph.
338 ESC < Beginning of whole buffer.
340 ESC > End of whole buffer.
345 CTRL-D Deletes forward one character (the one the cursor is under).
347 DELETE Deletes backward one character (the one to left of cursor).
349 ESC D Kills forward one word.
351 ESC DEL Kills backward one word.
353 CTRL-K Kills the rest of the line (to the right of the cursor).
355 ESC \\ Deletes spaces around the cursor.
357 ^X CTRL-O Deletes blank lines around the cursor.
362 ESC C Capitalizes word : first letter becomes uppercase; rest lower
364 ESC L Makes the whole next word lowercase.
366 ESC U Makes the whole next word uppercase.
368 ^X CTRL-L Makes whole region lowercase.
370 ^X CTRL-U Makes whole region uppercase.
373 \fBSEARCHING\fR (If no string is given, previous string is used)
375 CTRL-S Incremental Search forward; prompts \*(OQI-search:\*(CQ
377 CTRL-R Reverse Incremental Search; prompts \*(OQR-search:\*(CQ
379 During an incremental search, the following characters have special effects:
384 \*(OQnormal\*(CQ - Begin searching immediately.
386 ^G - Cancel I-search, return to start.
388 DEL - Erase last char, return to last match.
390 ^S, ^R - Repeat search (or change direction).
392 ESC or CR - Exit I-search at current point.
397 ESC % Query Replace. Interactive replace. Type \*(OQ?\*(CQ to see options.
399 ^X % Replace String. Like Query Replace, but not interactive
406 ^X CTRL-X Exchange cursor and mark.
408 ESC H Mark Paragraph. Sets mark and cursor to surround a para.
410 CTRL-W Wipe-out -- kills a \*(OQregion\*(CQ:
412 ESC W Copy region. Like CTRL-W then CTRL-Y but modifies buffer
414 CTRL-Y Yanks-back (un-kills) whatever you have most recently killed.
416 ESC Y Yanks-back (un-kills) the next most recently killed text.
418 ESC CTRL-W Append Next Kill. Accumulates stuff from several kills
423 ESC Q Fill the paragraph to the size of the Fill Column.
425 ESC G Fill the region.
427 ^X F Set Fill Column. ESC Q will use this line size.
429 ^X . Set Fill Prefix. Asks for prefix string
431 ^X T Toggles Auto Fill Mode.
436 ^X 2 Make two windows (split screen).
438 ^X 1 Make one window (delete window) (make one screen).
440 ^X O Go to Other window.
442 ^X ^ Grow window: makes current window bigger.
447 ^X CTRL-F Find a file and make a buffer for it.
449 ^X B Select Buffer: goes to specified buffer or makes new one
451 ^X CTRL-B Show the names of the buffers used in this editing session.
455 ESC tilde Say buffer is not modified.
457 ^X CTRL-M Toggle EOL mode (per-buffer flag).
462 ^X ( Start collecting a keyboard macro.
464 ^X ) Stop collecting.
466 ^X E Execute the collected macro.
468 ^X * Display the collected macro.
473 ^X CTRL-I Insert a file where cursor is.
475 ^X CTRL-R Read a new file into current buffer.
477 ^X CTRL-V Same as ^X ^R above (reads a file).
479 ^X CTRL-W Write buffer out to new file name.
481 ^X CTRL-S Save file: write out buffer to its file name.
483 ^X CTRL-E Write region out to new file name.
488 ^X CTRL-Z Exit from ELLE.
490 ^X ! Escape to shell (CTRL-D to return)
494 LINEFEED Same as typing RETURN and TAB.
496 CTRL-T Transposes characters.
498 ESC T Transposes words.
500 CTRL-U Makes the next command happen four times.
502 CTRL-U number Makes the next command happen \*(OQnumber\*(CQ times.
504 ESC number Same as CTRL-U number.
506 CTRL-L Refreshes screen.
508 CTRL-U CTRL-L Refresh only the line cursor is on.
510 CTRL-U n CTRL-L Change window so the cursor is on line n
512 CTRL-Q Quote: insert the next character no matter what it is.
514 CTRL-G Quit: use to avoid answering a question.
516 ESC ; Inserts comment (for writing C programs).
518 ESC I Inserts indentation equal to previous line.
520 ESC M Move to end of this line's indentation.
522 CTRL-_ Describe a command (if the command database is online)
525 \fBUNUSED CONTROLS\fR
538 It is possible to create your own user profile.
539 The mechanism is different from Emacs, since ELLE does not have Mock Lisp.
543 Modify \fI.ellepro.e\fR to suit your taste.
545 Install \fI.ellepro.e\fR in your home directory.
549 .Cx "ellec \(enProfile"
552 Check to see if \fI.ellepro.b1\fR has been created.
553 If it has, you are ready to go.
557 ELLE was written by Ken Harrenstien of SRI (klh@sri.com).