ELLE.9
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:18k
源码类别:

操作系统开发

开发平台:

C/C++

  1. Command:   elle - ELLE Looks Like Emacs
  2. Syntax:    elle file [file2]
  3. Flags:     (none)
  4. Example:   elle file.c              # Start the editor
  5.      ELLE (ELLE Looks Like Emacs) is an Emacs clone for MINIX.  ELLE  is
  6. not full Emacs but it has about 80 commands and is quite fast.
  7. Key bindings
  8.      Mined only has a small number of commands.  All of them are  either
  9. of  the  form  CTRL-x or are on the numeric keypad.  Emacs, in contrast,
  10. has so many commands, that not only are all the CTRL-x commands used up,
  11. but  so  are  all the ESC x (escape followed by x; escape is not a shift
  12. character, like CTRL).  Even this is not enough, so CTRL-X is used as  a
  13. prefix for additional commands.  Thus CTRL-X CTRL-L is a command, and so
  14. is CTRL-X K.  Note that what  is  conventionally  written  as  CTRL-X  K
  15. really  means  CTRL-X  k.   In  some contexts it is traditional to write
  16. CTRL-X as ^X.  Please note that they mean the same thing.
  17.      As a result, many Emacs commands need three or four key strokes  to
  18. execute.   Some  people  think  3-4  key  strokes is too many.  For this
  19. reason, Emacs and ELLE allow users to assign their own key bindings.  In
  20. ELLE  this  is  done  with  'user  profiles.'   A user profile is a file
  21. listing which function is invoked by which key stroke.  The user profile
  22. is  then compiled by a program called ellec into binary form.  When ELLE
  23. starts up it checks to see if a file .ellepro.b1 exists in $HOME.  If it
  24. does, this file is read in and overrides the default bindings.
  25.      A user profile that simulates the mined  commands  fairly  well  is
  26. provided.  Its  installation is described later.  If you have never used
  27. Emacs, it is suggested that you use the mined profile. If  you  normally
  28. use  Emacs,  then  do  not install the mined profile.  You can also make
  29. your own using ellec.  There is no Mock Lisp.
  30.      ELLE has a  character-oriented  view  of  the  world,  not  a  line
  31. oriented view, like ed. It does not have magic characters for searching.
  32. However, you can use line feed in search patterns. For example, to  find
  33. a  line  consisting of the three characters 'foo' all by themselves on a
  34. line, using the mined bindings (see  below),  use  the  pattern:  CTRL-
  35. CTRL-J  f  o  o  CTRL-  CTRL-J.   The CTRL- means to interpret the next
  36. character literally, in this case it is CTRL-J, which is line feed.  You
  37. can  also search for patterns involving multiple lines.  For example, to
  38. find a line ending in an 'x' followed by a line beginning  with  a  'y',
  39. use as pattern: x CTRL- CTRL-J y.
  40. Mined Key Bindings
  41.                                                                         
  42.                                                                         
  43.      These are the key bindings if the binary user profile, .ellepro.b1,
  44. is  installed in $HOME.  The ESCAPE key followed by a number followed by
  45. a command causes that command  to  be  executed  'number'  times.   This
  46. applies  both  to  control characters and insertable characters.  CTRL-X
  47. refers to a 'control character.'  ESC x refers to  an  escape  character
  48. followed by x.  In other words, ^X is a synonym for CTRL-X.  ^X Y refers
  49. to CTRL-X followed by y.  To abort the current command and  go  back  to
  50. the main loop of the editor, type CTRL-G, rather than CTRL-.
  51.      Only a few commands are of the form CTRL-X Y.   All  of  these  are
  52. also bound to CTRL-X CTRL-Y, so you can hold down CTRL and then hit X Y,
  53. or release control after the X, as you prefer.
  54.      The key bindings that are not listed should not be used.   Some  of
  55. them actually do things.  For example, the ANSI escape codes ESC [ x are
  56. bound to ^X Y for a variety of y.
  57.      Some commands work on regions.  A region is  defined  as  the  text
  58. between the most recently set mark and the cursor.
  59. Mined Commands
  60.      If the  mined  profile,  .ellepro.b1  is  installed  in  your  home
  61. directory, the following commands will work.
  62.    CURSOR MOTION
  63.       arrows         Move the cursor in the indicated direction
  64.       CTRL-A         Move cursor to start of current line
  65.       CTRL-Z         Move cursor to end of current line
  66.       CTRL-F         Move cursor forward word
  67.       CTRL-B         Move cursor backward to start of previous word
  68.    SCREEN MOTION
  69.       Home key       Move to first character of the file
  70.       End key        Move to last character of the file
  71.       PgUp key       Scroll window up 22 lines (closer to start  of  the
  72.                      file)
  73.       PgDn key       Scroll window down 22 lines (closer to end  of  the
  74.                      file)
  75.       CTRL-U         Scroll window up 1 line
  76.       CTRL-D         Scroll window down 1 line
  77.       ESC ,          Move to top of screen
  78.       CTRL-_         Move to bottom of screen
  79.    MODIFYING TEXT
  80.       DEL key        Delete the character under the cursor
  81.       Backsp         Delete the character to left of the cursor
  82.       CTRL-N         Delete the next word
  83.                                                                         
  84.                                                                         
  85.       CTRL-P         Delete the previous word
  86.       CTRL-T         Delete tail of line (all characters from cursor  to
  87.                      end of line)
  88.       CTRL-O         Open up the line (insert line feed and back up)
  89.       ESC G          Get and insert a file at the cursor position (CTRL-
  90.                      G in mined)
  91.    REGIONS
  92.       CTRL-^         Set mark at current position for  use  with  CTRL-C
  93.                      and CTRL-K
  94.       CTRL-C         Copy the text between the mark and the cursor  into
  95.                      the buffer
  96.       CTRL-K         Delete text between mark and cursor; also  copy  it
  97.                      to the buffer
  98.       CTRL-Y         Yank contents of the buffer out and  insert  it  at
  99.                      the cursor
  100.    MISCELLANEOUS
  101.       numeric +      Search forward (prompts for expression)
  102.       numeric -      Search backward (prompts for expression)
  103.       CTRL-]         ESC n CTRL-[ goes to  line  n  (slightly  different
  104.                      syntax than mined)
  105.       CTRL-R         Global replace pattern with string (from cursor  to
  106.                      end)
  107.       CTRL-L         Replace pattern with string within the current line
  108.                      only
  109.       CTRL-W         Write the edited file back to the disk
  110.       CTRL-S         Fork off a shell (use CTRL-D to  get  back  to  the
  111.                      editor)
  112.       CTRL-G         Abort whatever the editor was doing  and  wait  for
  113.                      command (CTRL-)
  114.       CTRL-E         Redraw screen with cursor line  positioned  in  the
  115.                      middle
  116.       CTRL-V         Visit (edit) a new file
  117.       CTRL-Q         Write buffer to a file
  118.       ESC X          Exit the editor
  119. Non-Mined Commands
  120.    CURSOR MOTION
  121.       ESC P          Forward paragraph (a paragraph is a line  beginning
  122.                      with a dot)
  123.       ESC ]          Backward paragraph
  124.       ESC .          Indent this line as much as the previous one
  125.    MODIFYING TEXT
  126.       CTRL-         Insert  the  next  character  (used  for  inserting
  127.                      control characters)
  128.       ESC T          Transpose characters
  129.                                                                         
  130.                                                                         
  131.       ESC W          Transpose words
  132.       ESC =          Delete white space (horizontal space)
  133.       ESC |          Delete blank lines (vertical space)
  134.    REGIONS
  135.       ESC M          Mark current paragraph
  136.       ESC ^          Exchange cursor and mark
  137.       ESC Y          Yank back the next-to-the-last kill  (CTRL-Y  yanks
  138.                      the last one)
  139.       ESC A          Append next kill to kill buffer
  140.    KEYBOARD MACROS
  141.       ESC /          Start Keyboard Macro
  142.       ESC           End Keyboard Macro
  143.       ESC *          View Keyboard Macro (the PrtSc key on  the  numeric
  144.                      pad is also a *)
  145.       ESC E          Execute Keyboard Macro
  146.    WINDOW MANAGEMENT
  147.       ^X 1           Enter one window mode
  148.       ^X 2           Enter two window mode
  149.       ^X L           Make the current window larger
  150.       ^X P           Make the window more petit/petite  (Yes,  Virginia,
  151.                      they are English)
  152.       ^X N           Next window
  153.       ^X W           New window
  154.    BUFFER MANAGEMENT
  155.       numeric 5      Display the list of current files and buffers
  156.       ESC B          Select a buffer
  157.       ESC S          Select an existing buffer
  158.       ESC N          Mark a buffer as NOT modified (even  if  it  really
  159.                      is)
  160.    UPPER AND LOW CASE MANIPULATION
  161.       ESC I          Set first character of word to upper case
  162.       ESC C          Capitalize current word
  163.       ESC O          Make current word ordinary (i.e., lower case)
  164.       ESC U          Set entire region between mark and cursor to  upper
  165.                      case
  166.       ESC L          Set entire region between mark and cursor to  lower
  167.                      case
  168.    MISCELLANEOUS
  169.       ESC F          Find file and read it into its own buffer
  170.       ESC Z          Incremental search
  171.       ESC Q          Like CTRL-R, but queries at each occurrence (type ?
  172.                      for options)
  173.       ESC R          Reset the user profile from a file
  174.       ESC H          Help (ELLE prompts for the 1 or 2 character command
  175.                                                                         
  176.                                                                         
  177.                      to describe)
  178.       ESC ;          Insert a comment in a C program  (generates  /*  */
  179.                      for you)
  180.       ^X X           Exit the editor (same as ESC X and CTRL-X CTRL-X)
  181. The major differences between ELLE with  the  mined  profile  and  mined
  182. itself are:
  183.    1. The definition of a 'word' is different for forward  and  backward
  184.    word
  185.    2. The mark is set with CTRL-^ instead of CTRL-@
  186.    3. Use CTRL-G to abort a command instead of CTRL-
  187.    4. Use CTRL- to literally insert the next character, instead of ALT
  188.    5. CTRL-E adjusts the window to put the cursor in the middle of it
  189.    6. To get and insert a file, use ESC G instead of CTRL-G
  190.    7. To go to line n, type ESC n CTRL-[ instead of CTRL-[ n
  191.    8. You exit with CTRL-X CTRL-X and then answer the question with 'y'.
  192.    9. There are many new commands, windows, larger files, etc.
  193. Emacs Key Bindings
  194.      If you do not  have  the  mined  profile  installed,  you  get  the
  195. standard  Emacs  key  bindings.   These  are  listed below. Commands not
  196. listed are not implemented.
  197.    CURSOR MOVEMENT
  198.       CTRL-F         Forward one character.
  199.       CTRL-B         Backward one character.
  200.       CTRL-H         Same as CTRL-B: move backward one character.
  201.       ESC F          Forward one word.
  202.       ESC B          Backward one word.
  203.       CTRL-A         Beginning of current line.
  204.       CTRL-E         End of current line.
  205.       CTRL-N         Next line (goes to the next line).
  206.       CTRL-P         Previous line (goes to the previous line).
  207.       CTRL-V         Beginning of next screenful.
  208.       ESC V          Beginning of previous screenful.
  209.       ESC ]          Forward Paragraph.
  210.       ESC [          Backward Paragraph.
  211.       ESC <          Beginning of whole buffer.
  212.       ESC >          End of whole buffer.
  213.    DELETING
  214.       CTRL-D         Deletes forward one character (the one  the  cursor
  215.                      is under).
  216.       DELETE         Deletes backward one character (the one to left  of
  217.                      cursor).
  218.       ESC D          Kills forward one word.
  219.       ESC DEL        Kills backward one word.
  220.                                                                         
  221.                                                                         
  222.       CTRL-K         Kills the rest of the line (to  the  right  of  the
  223.                      cursor).
  224.       ESC           Deletes spaces around the cursor.
  225.       ^X CTRL-O      Deletes blank lines around the cursor.
  226.    CASE CHANGE
  227.       ESC C          Capitalizes word : first letter becomes  uppercase;
  228.                      rest lower
  229.       ESC L          Makes the whole next word lowercase.
  230.       ESC U          Makes the whole next word uppercase.
  231.       ^X CTRL-L      Makes whole region lowercase.
  232.       ^X CTRL-U      Makes whole region uppercase.
  233.    SEARCHING (If no string is given, previous string is used)
  234.       CTRL-S         Incremental Search forward; prompts 'I-search:'
  235.       CTRL-R         Reverse Incremental Search; prompts 'R-search:'
  236.                      During  an  incremental   search,   the   following
  237.                      characters have special effects:
  238.                      'normal'    - Begin searching immediately.
  239.                      ^G          - Cancel I-search, return to start.
  240.                      DEL         - Erase  last  char,  return  to   last
  241.                                    match.
  242.                      ^S, ^R      - Repeat search (or change direction).
  243.                      ESC or CR   - Exit I-search at current point.
  244.       ESC %          Query Replace. Interactive replace. Type '?' to see
  245.                      options.
  246.       ^X %           Replace  String.  Like  Query  Replace,   but   not
  247.                      interactive
  248.    MARKING AREAS
  249.       CTRL-^         Set mark
  250.       ^X CTRL-X      Exchange cursor and mark.
  251.       ESC H          Mark Paragraph. Sets mark and cursor to surround  a
  252.                      para.
  253.       CTRL-W         Wipe-out -- kills a 'region':
  254.       ESC W          Copy region. Like CTRL-W then CTRL-Y  but  modifies
  255.                      buffer
  256.       CTRL-Y         Yanks-back  (un-kills)  whatever  you   have   most
  257.                      recently killed.
  258.       ESC Y          Yanks-back (un-kills) the next most recently killed
  259.                      text.
  260.       ESC CTRL-W     Append Next Kill. Accumulates  stuff  from  several
  261.                      kills
  262.    FILLING TEXT
  263.       ESC Q          Fill the paragraph to the size of the Fill Column.
  264.       ESC G          Fill the region.
  265.                                                                         
  266.                                                                         
  267.       ^X F           Set Fill Column. ESC Q will use this line size.
  268.       ^X .           Set Fill Prefix. Asks for prefix string
  269.       ^X T           Toggles Auto Fill Mode.
  270.    WINDOWS
  271.       ^X 2           Make two windows (split screen).
  272.       ^X 1           Make one window (delete window) (make one screen).
  273.       ^X O           Go to Other window.
  274.       ^X ^           Grow window: makes current window bigger.
  275.    BUFFERS
  276.       ^X CTRL-F      Find a file and make a buffer for it.
  277.       ^X B           Select Buffer: goes to specified  buffer  or  makes
  278.                      new one
  279.       ^X CTRL-B      Show the names of the buffers used in this  editing
  280.                      session.
  281.       ^X K           Kill Buffer.
  282.       ESC tilde      Say buffer is not modified.
  283.       ^X CTRL-M      Toggle EOL mode (per-buffer flag).
  284.    KEYBOARD MACRO
  285.       ^X (           Start collecting a keyboard macro.
  286.       ^X )           Stop collecting.
  287.       ^X E           Execute the collected macro.
  288.       ^X *           Display the collected macro.
  289.    FILES
  290.       ^X CTRL-I      Insert a file where cursor is.
  291.       ^X CTRL-R      Read a new file into current buffer.
  292.       ^X CTRL-V      Same as ^X ^R above (reads a file).
  293.       ^X CTRL-W      Write buffer out to new file name.
  294.       ^X CTRL-S      Save file: write out buffer to its file name.
  295.       ^X CTRL-E      Write region out to new file name.
  296.    MISCELLANEOUS
  297.       ^X CTRL-Z      Exit from ELLE.
  298.       ^X !           Escape to shell (CTRL-D to return)
  299.       CTRL-O         Open up line
  300.       LINEFEED       Same as typing RETURN and TAB.
  301.       CTRL-T         Transposes characters.
  302.       ESC T          Transposes words.
  303.       CTRL-U         Makes the next command happen four times.
  304.       CTRL-U number  Makes the next command happen 'number' times.
  305.       ESC number     Same as CTRL-U number.
  306.       CTRL-L         Refreshes screen.
  307.       CTRL-U CTRL-L  Refresh only the line cursor is on.
  308.       CTRL-U n CTRL-L Change window so the cursor is on line n
  309.       CTRL-Q         Quote: insert the next character no matter what  it
  310.                      is.
  311.       CTRL-G         Quit: use to avoid answering a question.
  312.                                                                         
  313.                                                                         
  314.       ESC ;          Inserts comment (for writing C programs).
  315.       ESC I          Inserts indentation equal to previous line.
  316.       ESC M          Move to end of this line's indentation.
  317.       CTRL-_         Describe a command  (if  the  command  database  is
  318.                      online)
  319.    UNUSED CONTROLS
  320.       CTRL-C         Not used.
  321.       CTRL-Z         Not used.
  322.       CTRL-]         Not used.
  323. ELLE profile
  324.      It is possible to create your own user profile.  The  mechanism  is
  325. different  from  Emacs,  since ELLE does not have Mock Lisp.  Proceed as
  326. follows.
  327.    Modify .ellepro.e to suit your taste.
  328.    Install .ellepro.e in your home directory.
  329.    Type:
  330.            ellec -Profile
  331.    Check to see if .ellepro.b1 has been created.  If it has, you  are
  332.    ready to go.
  333. Author
  334.      ELLE was written by Ken Harrenstien of SRI (klh@sri.com).
  335.