source: trunk/minix/man/man9/elle.9@ 9

Last change on this file since 9 was 9, checked in by Mattia Monga, 13 years ago

Minix 3.1.2a

File size: 15.2 KB
Line 
1.so mnx.mac
2.TH ELLE 9
3.CD "elle \(en ELLE Looks Like Emacs"
4.SX "elle \fIfile\fR [\fIfile2\fR]"
5.FL "\fR(none)"
6.EY "elle file.c" "Start the editor"
7.PP
8\fIELLE\fR (ELLE Looks Like Emacs) is an Emacs clone for
9.MX .
10ELLE is not full Emacs but it has about 80 commands and is quite fast.
11.SP 0.5
12.SS "Key bindings"
13.SP 0.5
14.PP
15\fIMined\fR only has a small number of commands. All of them are either of
16the form CTRL-x or are on the numeric keypad. Emacs, in contrast, has so
17many commands, that not only are all the CTRL-x commands used up, but so
18are all the ESC x (escape followed by x; escape is not a shift character,
19like CTRL). Even this is not enough, so CTRL-X is used as a prefix for
20additional commands. Thus CTRL-X CTRL-L is a command, and so is CTRL-X K.
21Note that what is conventionally written as CTRL-X K really means CTRL-X k.
22In some contexts it is traditional to write CTRL-X as ^X.
23Please note that they mean the same thing.
24.PP
25As a result, many Emacs commands need three or four key strokes to
26execute. Some people think 3-4 key strokes is too many.
27For this reason, Emacs and ELLE allow users to assign their own key bindings.
28In ELLE this is done with \*(OQuser profiles.\*(CQ A user profile is a file listing
29which function is invoked by which key stroke. The user profile is then
30compiled by a program called ellec into binary form. When ELLE starts up
31it checks to see if a file .ellepro.b1 exists in $HOME. If it does, this
32file is read in and overrides the default bindings.
33.PP
34A user profile that simulates the \fImined\fR commands fairly
35well is provided.
36Its installation is described later. If you have never used Emacs,
37it is suggested that you use the \fImined\fR profile.
38If you normally use Emacs, then
39do not install the \fImined\fR profile. You can also make your own using
40\fIellec\fR.
41There is no Mock Lisp.
42.PP
43ELLE has a character-oriented view of the world, not a line oriented
44view, like \fIed\fR.
45It does not have magic characters for searching.
46However, you can use line feed in search patterns.
47For example, to find a line consisting of the three characters
48\*(OQfoo\*(CQ all by themselves on a line, using the mined
49bindings (see below), use the pattern: CTRL-\\ CTRL-J f o o CTRL-\\ CTRL-J.
50The CTRL-\ means to interpret the next character literally, in this case it
51is CTRL-J, which is line feed. You can also search for patterns involving
52multiple lines. For example, to find a line ending in an \*(OQx\*(CQ followed by a
53line beginning with a \*(OQy\*(CQ, use as pattern: x CTRL-\ CTRL-J y.
54.SS "Mined Key Bindings"
55.PP
56These are the key bindings if the binary user profile, \fI.ellepro.b1\fR,
57is installed in $HOME. The ESCAPE key followed by a number followed by a
58command causes that command to be executed \*(OQnumber\*(CQ times. This applies
59both to control characters and insertable characters. CTRL-X refers to a
60\*(OQcontrol character.\*(CQ ESC x refers to an escape character
61followed by x.
62In 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
64back to the main loop of the editor, type CTRL-G, rather than CTRL-\\.
65.PP
66Only a few commands are of the form CTRL-X Y. All of these are also
67bound to CTRL-X CTRL-Y, so you can hold down CTRL and then hit X Y, or
68release control after the X, as you prefer.
69.PP
70The key bindings that are not listed should not be used.
71Some of them actually do things.
72For example, the ANSI escape codes ESC [ x are bound
73to ^X Y for a variety of y.
74.PP
75Some commands work on regions.
76A region is defined as the text between the most recently set mark
77and the cursor.
78.SP 0.5
79.SS "Mined Commands"
80.SP 0.5
81.PP
82If the \fImined\fR profile,
83.I .ellepro.b1
84is installed in your home directory, the following commands will work.
85.sp
86.in +1.75i
87.ta +1.25i
88.ti -1.5i
89\fBCURSOR MOTION\fR
90.ti -1.25i
91arrows Move the cursor in the indicated direction
92.ti -1.25i
93CTRL-A Move cursor to start of current line
94.ti -1.25i
95CTRL-Z Move cursor to end of current line
96.ti -1.25i
97CTRL-F Move cursor forward word
98.ti -1.25i
99CTRL-B Move cursor backward to start of previous word
100.sp
101.ti -1.5i
102\fBSCREEN MOTION\fR
103.ti -1.25i
104Home key Move to first character of the file
105.ti -1.25i
106End key Move to last character of the file
107.ti -1.25i
108PgUp key Scroll window up 22 lines (closer to start of the file)
109.ti -1.25i
110PgDn key Scroll window down 22 lines (closer to end of the file)
111.ti -1.25i
112CTRL-U Scroll window up 1 line
113.ti -1.25i
114CTRL-D Scroll window down 1 line
115.ti -1.25i
116ESC , Move to top of screen
117.ti -1.25i
118CTRL-_ Move to bottom of screen
119.sp
120.ti -1.5i
121\fBMODIFYING TEXT\fR
122.ti -1.25i
123DEL key Delete the character under the cursor
124.ti -1.25i
125Backsp Delete the character to left of the cursor
126.ti -1.25i
127CTRL-N Delete the next word
128.ti -1.25i
129CTRL-P Delete the previous word
130.ti -1.25i
131CTRL-T Delete tail of line (all characters from cursor to end of line)
132.ti -1.25i
133CTRL-O Open up the line (insert line feed and back up)
134.ti -1.25i
135ESC G Get and insert a file at the cursor position (CTRL-G in mined)
136.sp
137.ti -1.5i
138\fBREGIONS\fR
139.ti -1.25i
140CTRL-^ Set mark at current position for use with CTRL-C and CTRL-K
141.ti -1.25i
142CTRL-C Copy the text between the mark and the cursor into the buffer
143.ti -1.25i
144CTRL-K Delete text between mark and cursor; also copy it to the buffer
145.ti -1.25i
146CTRL-Y Yank contents of the buffer out and insert it at the cursor
147.sp
148.ti -1.5i
149\fBMISCELLANEOUS\fR
150.ti -1.25i
151numeric + Search forward (prompts for expression)
152.ti -1.25i
153numeric \(mi Search backward (prompts for expression)
154.ti -1.25i
155CTRL-] ESC n CTRL-[ goes to line n (slightly different syntax than mined)
156.ti -1.25i
157CTRL-R Global replace pattern with string (from cursor to end)
158.ti -1.25i
159CTRL-L Replace pattern with string within the current line only
160.ti -1.25i
161CTRL-W Write the edited file back to the disk
162.ti -1.25i
163CTRL-S Fork off a shell (use CTRL-D to get back to the editor)
164.ti -1.25i
165CTRL-G Abort whatever the editor was doing and wait for command (CTRL-\)
166.ti -1.25i
167CTRL-E Redraw screen with cursor line positioned in the middle
168.ti -1.25i
169CTRL-V Visit (edit) a new file
170.ti -1.25i
171CTRL-Q Write buffer to a file
172.ti -1.25i
173ESC X Exit the editor
174.SP 0.5
175.in -1.75i
176.SS "Non-Mined Commands"
177.LP
178.SP 0.5
179.in +1.75i
180.ta +1.25i
181.ti -1.5i
182\fBCURSOR MOTION\fR
183.ti -1.25i
184ESC P Forward paragraph (a paragraph is a line beginning with a dot)
185.ti -1.25i
186ESC ] Backward paragraph
187.ti -1.25i
188ESC . Indent this line as much as the previous one
189.sp
190.ti -1.5i
191\fBMODIFYING TEXT\fR
192.ti -1.25i
193CTRL-\\ Insert the next character (used for inserting control characters)
194.ti -1.25i
195ESC T Transpose characters
196.ti -1.25i
197ESC W Transpose words
198.ti -1.25i
199ESC = Delete white space (horizontal space)
200.ti -1.25i
201ESC | Delete blank lines (vertical space)
202.sp
203.ti -1.5i
204\fBREGIONS\fR
205.ti -1.25i
206ESC M Mark current paragraph
207.ti -1.25i
208ESC ^ Exchange cursor and mark
209.ti -1.25i
210ESC Y Yank back the next-to-the-last kill (CTRL-Y yanks the last one)
211.ti -1.25i
212ESC A Append next kill to kill buffer
213.sp
214.ti -1.5i
215\fBKEYBOARD MACROS\fR
216.ti -1.25i
217ESC / Start Keyboard Macro
218.ti -1.25i
219ESC \\ End Keyboard Macro
220.ti -1.25i
221ESC * View Keyboard Macro (the PrtSc key on the numeric pad is also a *)
222.ti -1.25i
223ESC E Execute Keyboard Macro
224.sp
225.ti -1.5i
226\fBWINDOW MANAGEMENT\fR
227.ti -1.25i
228^X 1 Enter one window mode
229.ti -1.25i
230^X 2 Enter two window mode
231.ti -1.25i
232^X L Make the current window larger
233.ti -1.25i
234^X P Make the window more petit/petite (Yes, Virginia, they are English)
235.ti -1.25i
236^X N Next window
237.ti -1.25i
238^X W New window
239.sp
240.ti -1.5i
241\fBBUFFER MANAGEMENT\fR
242.ti -1.25i
243numeric 5 Display the list of current files and buffers
244.ti -1.25i
245ESC B Select a buffer
246.ti -1.25i
247ESC S Select an existing buffer
248.ti -1.25i
249ESC N Mark a buffer as NOT modified (even if it really is)
250.sp
251.ti -1.5i
252\fBUPPER AND LOW CASE MANIPULATION\fR
253.ti -1.25i
254ESC I Set first character of word to upper case
255.ti -1.25i
256ESC C Capitalize current word
257.ti -1.25i
258ESC O Make current word ordinary (i.e., lower case)
259.ti -1.25i
260ESC U Set entire region between mark and cursor to upper case
261.ti -1.25i
262ESC L Set entire region between mark and cursor to lower case
263.sp
264.ti -1.5i
265\fBMISCELLANEOUS\fR
266.ti -1.25i
267ESC F Find file and read it into its own buffer
268.ti -1.25i
269ESC Z Incremental search
270.ti -1.25i
271ESC Q Like CTRL-R, but queries at each occurrence (type ? for options)
272.ti -1.25i
273ESC R Reset the user profile from a file
274.ti -1.25i
275ESC H Help (ELLE prompts for the 1 or 2 character command to describe)
276.ti -1.25i
277ESC ; Insert a comment in a C program (generates /* */ for you)
278.ti -1.25i
279^X X Exit the editor (same as ESC X and CTRL-X CTRL-X)
280.in -1.75i
281.fi
282.sp
283The major differences between ELLE
284with the \fImined\fR profile and \fImined\fR itself are:
285.sp
286.nf
287.in +0.25i
2881. The definition of a \*(OQword\*(CQ is different for forward and backward word
2892. The mark is set with CTRL-^ instead of CTRL-@
2903. Use CTRL-G to abort a command instead of CTRL-\\
2914. Use CTRL-\ to literally insert the next character, instead of ALT
2925. CTRL-E adjusts the window to put the cursor in the middle of it
2936. To get and insert a file, use ESC G instead of CTRL-G
2947. To go to line n, type ESC n CTRL-[ instead of CTRL-[ n
2958. You exit with CTRL-X CTRL-X and then answer the question with \*(OQy\*(CQ.
2969. There are many new commands, windows, larger files, etc.
297.fi
298.in -0.25i
299.sp
300.SS "Emacs Key Bindings"
301.PP
302If you do not have the \fImined\fR profile installed, you get the standard
303Emacs key bindings.
304These are listed below.
305Commands not listed are not implemented.
306.sp
307.in +1.75i
308.ta +1.25i
309.ti -1.5i
310\fBCURSOR MOVEMENT\fR
311.ti -1.25i
312CTRL-F Forward one character.
313.ti -1.25i
314CTRL-B Backward one character.
315.ti -1.25i
316CTRL-H Same as CTRL-B: move backward one character.
317.ti -1.25i
318ESC F Forward one word.
319.ti -1.25i
320ESC B Backward one word.
321.ti -1.25i
322CTRL-A Beginning of current line.
323.ti -1.25i
324CTRL-E End of current line.
325.ti -1.25i
326CTRL-N Next line (goes to the next line).
327.ti -1.25i
328CTRL-P Previous line (goes to the previous line).
329.ti -1.25i
330CTRL-V Beginning of next screenful.
331.ti -1.25i
332ESC V Beginning of previous screenful.
333.ti -1.25i
334ESC ]~ Forward Paragraph.
335.ti -1.25i
336ESC [~ Backward Paragraph.
337.ti -1.25i
338ESC < Beginning of whole buffer.
339.ti -1.25i
340ESC > End of whole buffer.
341.sp
342.ti -1.5i
343\fBDELETING\fR
344.ti -1.25i
345CTRL-D Deletes forward one character (the one the cursor is under).
346.ti -1.25i
347DELETE Deletes backward one character (the one to left of cursor).
348.ti -1.25i
349ESC D Kills forward one word.
350.ti -1.25i
351ESC DEL Kills backward one word.
352.ti -1.25i
353CTRL-K Kills the rest of the line (to the right of the cursor).
354.ti -1.25i
355ESC \\ Deletes spaces around the cursor.
356.ti -1.25i
357^X CTRL-O Deletes blank lines around the cursor.
358.sp
359.ti -1.5i
360\fBCASE CHANGE\fR
361.ti -1.25i
362ESC C Capitalizes word : first letter becomes uppercase; rest lower
363.ti -1.25i
364ESC L Makes the whole next word lowercase.
365.ti -1.25i
366ESC U Makes the whole next word uppercase.
367.ti -1.25i
368^X CTRL-L Makes whole region lowercase.
369.ti -1.25i
370^X CTRL-U Makes whole region uppercase.
371.sp
372.ti -1.5i
373\fBSEARCHING\fR (If no string is given, previous string is used)
374.ti -1.25i
375CTRL-S Incremental Search forward; prompts \*(OQI-search:\*(CQ
376.ti -1.25i
377CTRL-R Reverse Incremental Search; prompts \*(OQR-search:\*(CQ
378.HS
379During an incremental search, the following characters have special effects:
380.HS
381.in +1.2i
382.ta +1.0i +0.2i
383.ti -1.2i
384\*(OQnormal\*(CQ - Begin searching immediately.
385.ti -1.2i
386^G - Cancel I-search, return to start.
387.ti -1.2i
388DEL - Erase last char, return to last match.
389.ti -1.2i
390^S, ^R - Repeat search (or change direction).
391.ti -1.2i
392ESC or CR - Exit I-search at current point.
393.sp
394.in -1.2i
395.ta +1.25i
396.ti -1.25i
397ESC % Query Replace. Interactive replace. Type \*(OQ?\*(CQ to see options.
398.ti -1.25i
399^X % Replace String. Like Query Replace, but not interactive
400.sp
401.ti -1.5i
402\fBMARKING AREAS\fR
403.ti -1.25i
404CTRL-^ Set mark
405.ti -1.25i
406^X CTRL-X Exchange cursor and mark.
407.ti -1.25i
408ESC H Mark Paragraph. Sets mark and cursor to surround a para.
409.ti -1.25i
410CTRL-W Wipe-out -- kills a \*(OQregion\*(CQ:
411.ti -1.25i
412ESC W Copy region. Like CTRL-W then CTRL-Y but modifies buffer
413.ti -1.25i
414CTRL-Y Yanks-back (un-kills) whatever you have most recently killed.
415.ti -1.25i
416ESC Y Yanks-back (un-kills) the next most recently killed text.
417.ti -1.25i
418ESC CTRL-W Append Next Kill. Accumulates stuff from several kills
419.sp
420.ti -1.5i
421\fBFILLING TEXT\fR
422.ti -1.25i
423ESC Q Fill the paragraph to the size of the Fill Column.
424.ti -1.25i
425ESC G Fill the region.
426.ti -1.25i
427^X F Set Fill Column. ESC Q will use this line size.
428.ti -1.25i
429^X . Set Fill Prefix. Asks for prefix string
430.ti -1.25i
431^X T Toggles Auto Fill Mode.
432.sp
433.ti -1.5i
434\fBWINDOWS\fR
435.ti -1.25i
436^X 2 Make two windows (split screen).
437.ti -1.25i
438^X 1 Make one window (delete window) (make one screen).
439.ti -1.25i
440^X O Go to Other window.
441.ti -1.25i
442^X ^ Grow window: makes current window bigger.
443.sp
444.ti -1.5i
445\fBBUFFERS\fR
446.ti -1.25i
447^X CTRL-F Find a file and make a buffer for it.
448.ti -1.25i
449^X B Select Buffer: goes to specified buffer or makes new one
450.ti -1.25i
451^X CTRL-B Show the names of the buffers used in this editing session.
452.ti -1.25i
453^X K Kill Buffer.
454.ti -1.25i
455ESC tilde Say buffer is not modified.
456.ti -1.25i
457^X CTRL-M Toggle EOL mode (per-buffer flag).
458.sp
459.ti -1.5i
460\fBKEYBOARD MACRO\fR
461.ti -1.25i
462^X ( Start collecting a keyboard macro.
463.ti -1.25i
464^X ) Stop collecting.
465.ti -1.25i
466^X E Execute the collected macro.
467.ti -1.25i
468^X * Display the collected macro.
469.sp
470.ti -1.5i
471\fBFILES\fR
472.ti -1.25i
473^X CTRL-I Insert a file where cursor is.
474.ti -1.25i
475^X CTRL-R Read a new file into current buffer.
476.ti -1.25i
477^X CTRL-V Same as ^X ^R above (reads a file).
478.ti -1.25i
479^X CTRL-W Write buffer out to new file name.
480.ti -1.25i
481^X CTRL-S Save file: write out buffer to its file name.
482.ti -1.25i
483^X CTRL-E Write region out to new file name.
484.sp
485.ti -1.5i
486\fBMISCELLANEOUS\fR
487.ti -1.25i
488^X CTRL-Z Exit from ELLE.
489.ti -1.25i
490^X ! Escape to shell (CTRL-D to return)
491.ti -1.25i
492CTRL-O Open up line
493.ti -1.25i
494LINEFEED Same as typing RETURN and TAB.
495.ti -1.25i
496CTRL-T Transposes characters.
497.ti -1.25i
498ESC T Transposes words.
499.ti -1.25i
500CTRL-U Makes the next command happen four times.
501.ti -1.25i
502CTRL-U number Makes the next command happen \*(OQnumber\*(CQ times.
503.ti -1.25i
504ESC number Same as CTRL-U number.
505.ti -1.25i
506CTRL-L Refreshes screen.
507.ti -1.25i
508CTRL-U CTRL-L Refresh only the line cursor is on.
509.ti -1.25i
510CTRL-U n CTRL-L Change window so the cursor is on line n
511.ti -1.25i
512CTRL-Q Quote: insert the next character no matter what it is.
513.ti -1.25i
514CTRL-G Quit: use to avoid answering a question.
515.ti -1.25i
516ESC ; Inserts comment (for writing C programs).
517.ti -1.25i
518ESC I Inserts indentation equal to previous line.
519.ti -1.25i
520ESC M Move to end of this line's indentation.
521.ti -1.25i
522CTRL-_ Describe a command (if the command database is online)
523.sp
524.ti -1.5i
525\fBUNUSED CONTROLS\fR
526.ti -1.25i
527CTRL-C Not used.
528.ti -1.25i
529CTRL-Z Not used.
530.ti -1.25i
531CTRL-] Not used.
532.fi
533.in -1.75i
534.sp
535.SP 0.5
536.SS "ELLE profile"
537.PP
538It is possible to create your own user profile.
539The mechanism is different from Emacs, since ELLE does not have Mock Lisp.
540Proceed as follows.
541.LI
542.IT
543Modify \fI.ellepro.e\fR to suit your taste.
544.IT
545Install \fI.ellepro.e\fR in your home directory.
546.IT
547Type:
548.HS
549.Cx "ellec \(enProfile"
550.HS
551.IT
552Check to see if \fI.ellepro.b1\fR has been created.
553If it has, you are ready to go.
554.LX
555.SS "Author"
556.PP
557ELLE was written by Ken Harrenstien of SRI (klh@sri.com).
Note: See TracBrowser for help on using the repository browser.