# elle(9)

    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).