123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- EMODE - A PSL SCREEN EDITOR
- Comments and questions about EMODE should be addressed to Will Galway
- (GALWAY@UTAH-20). Further documentation is available in the file EMODE.LPT on
- logical device PE:
- Running EMODE
- EMODE is available as a "loadable" file. It can be invoked as follows:
- @PSL:RLISP
- [1] load emode;
- [2] emode();
- Of course, you may choose to invoke RLISP (or "just plain Lisp") differently,
- and to perform other operations before loading and running EMODE.
- EMODE is built to run on a site dependent "default terminal" as the default (a
- Teleray terminal at the University of Utah). To use some other terminal you
- must LOAD in a set of different driver functions after loading EMODE. For
- example, to run EMODE on the Hewlett Packard 2648A terminal, you could type:
- @PSL:RLISP
- [1] load emode;
- [2] load hp2648a;
- [3] emode();
- The following drivers are currently available:
- AAA For the Ann Arbor Ambassador.
- DM1520 For the Datamedia 1520.
- HP2648A For the Hewlett Packard 2648A (and similar HP terminals).
- TELERAY For the Teleray 1061.
- VT52 For the DEC VT52.
- VT100 For the DEC VT100.
- See the file PE:EMODE.LPT for information on creating new terminal drivers.
- When EMODE starts up, it will typically be in "two window mode". To enter "one
- window mode", you can type "C-X 1" (as in EMACS). Commands can be typed into a
- buffer shown in the top window. The result of evaluating a command is printed
- into the OUT_WINDOW buffer (shown in the bottom window). To evaluate the
- expression starting on the current line, type M-E. M-E will (normally)
- automatically enter two window mode if anything is "printed" to the OUT_WINDOW
- buffer. If you don't want to see things being printed to the output window,
- you can set the variable !*OUTWINDOW to NIL. (Or use the RLISP command "OFF
- OUTWINDOW;".) This prevents EMODE from automatically going into two window
- mode when something is printed to OUT_WINDOW. You must still use the "C-X 1"
- command to enter one window mode initially.
- Commands for EMODE
- The following commands are notable either for their difference from EMACS, or
- for their importance to getting started with EMODE:
- - To leave EMODE type C-X C-Z to "QUIT" to the EXEC, or C-Z C-Z to
- return to "normal" PSL input/output.
- - While in EMODE, the "M-?" (meta- question mark) character asks for a
- command character and prints the name of the routine attached to that
- character.
- - The function "PrintAllDispatch()" will print out the current dispatch
- table. You must call EMODE first, to set this table up.
- - M-C-Y inserts into the current buffer the text printed as a result of
- the last M-E.
- - M-X prompts for a one line string and then executes it as a Lisp
- expression. Of course, similar results can be achieved by using M-E
- in a buffer.
- A (fairly) complete table of keyboard bindings follows:
- C-@ Runs the function SETMARK.
- C-A Runs the function !$BEGINNINGOFLINE.
- C-B Runs the function !$BACKWARDCHARACTER.
- C-D Runs the function !$DELETEFORWARDCHARACTER.
- C-E Runs the function !$ENDOFLINE.
- C-F Runs the function !$FORWARDCHARACTER.
- Tab In Lisp mode, runs the function LISP-TAB-COMMAND. Indents as
- appropriate for Lisp.
- Linefeed In text mode, runs the function !$CRLF and acts like a carriage
- return.
- In Lisp mode, runs the function LISP-LINEFEED-COMMAND. Inserts
- a newline and indents as appropriate for Lisp.
- C-K Runs the function KILL_LINE.
- C-L Runs the function FULLREFRESH.
- Return Runs the function $CRLF (inserts a carriage return).
- C-N Runs the function !$FORWARDLINE.
- C-O Runs the function OPENLINE.
- C-P Runs the function !$BACKWARDLINE.
- C-Q Runs the function INSERTNEXTCHARACTER. Acts like a "quote" for
- the next character typed.
- C-R Backward search for string, type a carriage return to terminate
- the search string. Default (for a null string) is the last
- string previously searched for.
- C-S Forward search for string.
- C-T Transpose the last two characters typed (if the last character
- typed was self inserting). Otherwise, transpose the characters
- to the left and right of point, or the two characters to the
- left of point if at the end of a line.
- C-U Repeat a command. Similar to EMACS's C-U.
- C-V Runs the function SCROLL-WINDOW-UP-PAGE-COMMAND.
- C-W Runs the function KILL_REGION.
- C-X As in EMACS, control-X is a prefix for "fancier" commands.
- C-Y Runs the function INSERT_KILL_BUFFER. Yanks back killed text.
- C-Z Runs the function DOCONTROLMETA. As in EMACS, acts like
- "Control-Meta" (or "Meta-Control").
- ESCAPE Runs the function ESCAPEASMETA. As in EMACS, ESCAPE acts like
- the "Meta" key.
- ) Inserts a "matching" right parenthesis. Bounces back to the
- corresponding left parenthesis, or beeps if no matching
- parenthesis is found.
- RUBOUT Runs the function !$DELETEBACKWARDCHARACTER.
- M-C-@ Runs the function MARK-SEXP-COMMAND. Sets mark at the end of
- the s-expression following point.
- M-C-A In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND.
- Moves backward to the beginning of the current or previous)
- DEFUN. A DEFUN is heuristically defined to be a line whose
- first character is a left parenthesis.
- M-C-B Runs the function BACKWARD_SEXPR.
- M-C-D Runs the function DOWN-LIST. Moves "deeper" into the next
- contained list.
- M-C-E In Lisp mode, runs the function END-OF-DEFUN-COMMAND. Moves
- forward to the beginning of the next line following the end of
- a DEFUN.
- M-C-F Runs the function FORWARD_SEXPR.
- M-Backspace In Lisp mode, runs the function MARK-DEFUN-COMMAND.
- M-Tab In Lisp mode, runs the function LISP-TAB-COMMAND.
- M-C-K Runs the function KILL_FORWARD_SEXPR.
- M-Return Runs the function BACK-TO-INDENTATION-COMMAND. Similar to C-A,
- but skips past any leading blanks.
- M-C-N Runs the function MOVE-PAST-NEXT-LIST. Moves to the right of
- the current or next list.
- M-C-O Runs the function FORWARD-UP-LIST. Moves to the right of the
- current list.
- M-C-P Runs the function MOVE-PAST-PREVIOUS-LIST. Moves to the
- beginning of the current or previous list.
- M-C-Q Runs the function LISP-INDENT-SEXPR. "Lisp indents" each line
- in the next s-expr.
- M-C-U Runs the function BACKWARD-UP-LIST. Does the "opposite" of
- FORWARD-UP-LIST.
- M-C-Y In Lisp and Rlisp mode runs the function
- INSERT_LAST_EXPRESSION. Inserts the last body of text typed as
- the result of a M-E.
- M-C-Z Runs the function OLDFACE. Leaves EMODE, goes back to
- "regular" PSL input/output.
- M-Escape In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND.
- (See M-C-A.)
- M-C-] In Lisp mode, runs the function END-OF-DEFUN-COMMAND. (See
- M-C-E.)
- M-C-RUBOUT Runs the function KILL_BACKWARD_SEXPR.
- M-% Runs the function QUERY-REPLACE-COMMAND. Similar to EMACS's
- query replace.
- M-( Runs the function INSERT-PARENS. Inserts a matching pair of
- parenthesis, leaving point between them.
- M-) Runs the function MOVE-OVER-PAREN. Moves over a ")" updating
- indentation (as appropriate for Lisp).
- M-/ Runs the function !$HELPDISPATCH, see the description of M-?
- below.
- M-; In Lisp and Rlisp mode runs the function INSERTCOMMENT.
- M-< Runs the function !$BEGINNINGOFBUFFER. Move to beginning of
- buffer.
- M-> Runs the function !$ENDOFBUFFER. Move to end of buffer.
- M-? Runs the function !$HELPDISPATCH. Asks for a character and
- prints the name of the routine attached to that character.
- M-@ Runs the function MARK-WORD-COMMAND.
- M-B Runs the function BACKWARD_WORD. Backs up over a word.
- M-D Runs the function KILL_FORWARD_WORD.
- M-E In Lisp and RLISP modes evaluates the expression starting at
- the beginning of the current line.
- M-F Runs the function FORWARD_WORD. Moves forward over a word.
- M-M Runs the function BACK-TO-INDENTATION-COMMAND. (See M-Return
- for more description.)
- M-V Runs the function SCROLL-WINDOW-DOWN-PAGE-COMMAND. Moves up a
- window.
- M-W Runs the function COPY_REGION. Like C-W only it doesn't kill
- the region.
- M-X Runs the function EXECUTE_COMMAND. Prompts for a string and
- then converts it to Lisp expression and evaluates it.
- M-Y Runs the function UNKILL_PREVIOUS. Used to cycle through the
- kill buffer. Deletes the last yanked back text and then
- proceeds to yank back the previous piece of text in the kill
- buffer.
- M-\ Runs the function DELETE-HORIZONTAL-SPACE-COMMAND. Deletes all
- blanks (and tabs) around point.
- M-^ Runs the function DELETE-INDENTATION-COMMAND. Deletes CRLF and
- indentation at front of line, leaves one space in place of
- them.
- M-RUBOUT Runs the function KILL_BACKWARD_WORD.
- C-X C-B Runs the function PRINTBUFFERNAMES. Prints a list of all the
- buffers present.
- C-X C-F Runs the function FIND_FILE. Asks for a filename and then
- selects the buffer that that file resides in, or creates a new
- buffer and reads the file into it.
- C-X C-O Runs the function DELETE-BLANK-LINES-COMMAND. Deletes blank
- lines around point (leaving one left).
- C-X C-P Runs the function WRITESCREENPHOTO. Write a "photograph" of
- the screen to a file.
- C-X C-R Runs the function CNTRLXREAD. Read a file into the buffer.
- C-X C-S Runs the function SAVE_FILE. Writes the buffer to the file
- associated with that buffer, asks for an associated file if
- none defined.
- C-X C-W Runs the function CNTRLXWRITE. Write the buffer out to a file.
- C-X C-X Runs the function EXCHANGEPOINTANDMARK
- C-X C-Z As in EMACS, exits to the EXEC.
- C-X 1 Goes into one window mode.
- C-X 2 Goes into two window mode.
- C-X B Runs the function CHOOSEBUFFER. EMODE asks for a buffer name,
- and then selects (or creates) that buffer for editing.
- C-X H Runs the function MARK-WHOLE-BUFFER-COMMAND.
- C-X N Runs the function NEXT_WINDOW. Selects the "next" window in
- the list of active windows. Note that some active windows may
- be covered by other screens, so they will be invisible until
- C-X N reaches them and "pops" them to the "top" of the screen.
- C-X O An alternate way to invoke NEXT_WINDOW.
- C-X P Runs the function PREVIOUS_WINDOW. Selects the "previous"
- window in the list of active windows.
|