ELLE.9
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:18k
源码类别:
操作系统开发
开发平台:
C/C++
- 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).