emode.hlp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. EMODE - A PSL SCREEN EDITOR
  2. Comments and questions about EMODE should be addressed to Will Galway
  3. (GALWAY@UTAH-20). Further documentation is available in the file EMODE.LPT on
  4. logical device PE:
  5. Running EMODE
  6. EMODE is available as a "loadable" file. It can be invoked as follows:
  7. @PSL:RLISP
  8. [1] load emode;
  9. [2] emode();
  10. Of course, you may choose to invoke RLISP (or "just plain Lisp") differently,
  11. and to perform other operations before loading and running EMODE.
  12. EMODE is built to run on a site dependent "default terminal" as the default (a
  13. Teleray terminal at the University of Utah). To use some other terminal you
  14. must LOAD in a set of different driver functions after loading EMODE. For
  15. example, to run EMODE on the Hewlett Packard 2648A terminal, you could type:
  16. @PSL:RLISP
  17. [1] load emode;
  18. [2] load hp2648a;
  19. [3] emode();
  20. The following drivers are currently available:
  21. AAA For the Ann Arbor Ambassador.
  22. DM1520 For the Datamedia 1520.
  23. HP2648A For the Hewlett Packard 2648A (and similar HP terminals).
  24. TELERAY For the Teleray 1061.
  25. VT52 For the DEC VT52.
  26. VT100 For the DEC VT100.
  27. See the file PE:EMODE.LPT for information on creating new terminal drivers.
  28. When EMODE starts up, it will typically be in "two window mode". To enter "one
  29. window mode", you can type "C-X 1" (as in EMACS). Commands can be typed into a
  30. buffer shown in the top window. The result of evaluating a command is printed
  31. into the OUT_WINDOW buffer (shown in the bottom window). To evaluate the
  32. expression starting on the current line, type M-E. M-E will (normally)
  33. automatically enter two window mode if anything is "printed" to the OUT_WINDOW
  34. buffer. If you don't want to see things being printed to the output window,
  35. you can set the variable !*OUTWINDOW to NIL. (Or use the RLISP command "OFF
  36. OUTWINDOW;".) This prevents EMODE from automatically going into two window
  37. mode when something is printed to OUT_WINDOW. You must still use the "C-X 1"
  38. command to enter one window mode initially.
  39. Commands for EMODE
  40. The following commands are notable either for their difference from EMACS, or
  41. for their importance to getting started with EMODE:
  42. - To leave EMODE type C-X C-Z to "QUIT" to the EXEC, or C-Z C-Z to
  43. return to "normal" PSL input/output.
  44. - While in EMODE, the "M-?" (meta- question mark) character asks for a
  45. command character and prints the name of the routine attached to that
  46. character.
  47. - The function "PrintAllDispatch()" will print out the current dispatch
  48. table. You must call EMODE first, to set this table up.
  49. - M-C-Y inserts into the current buffer the text printed as a result of
  50. the last M-E.
  51. - M-X prompts for a one line string and then executes it as a Lisp
  52. expression. Of course, similar results can be achieved by using M-E
  53. in a buffer.
  54. A (fairly) complete table of keyboard bindings follows:
  55. C-@ Runs the function SETMARK.
  56. C-A Runs the function !$BEGINNINGOFLINE.
  57. C-B Runs the function !$BACKWARDCHARACTER.
  58. C-D Runs the function !$DELETEFORWARDCHARACTER.
  59. C-E Runs the function !$ENDOFLINE.
  60. C-F Runs the function !$FORWARDCHARACTER.
  61. Tab In Lisp mode, runs the function LISP-TAB-COMMAND. Indents as
  62. appropriate for Lisp.
  63. Linefeed In text mode, runs the function !$CRLF and acts like a carriage
  64. return.
  65. In Lisp mode, runs the function LISP-LINEFEED-COMMAND. Inserts
  66. a newline and indents as appropriate for Lisp.
  67. C-K Runs the function KILL_LINE.
  68. C-L Runs the function FULLREFRESH.
  69. Return Runs the function $CRLF (inserts a carriage return).
  70. C-N Runs the function !$FORWARDLINE.
  71. C-O Runs the function OPENLINE.
  72. C-P Runs the function !$BACKWARDLINE.
  73. C-Q Runs the function INSERTNEXTCHARACTER. Acts like a "quote" for
  74. the next character typed.
  75. C-R Backward search for string, type a carriage return to terminate
  76. the search string. Default (for a null string) is the last
  77. string previously searched for.
  78. C-S Forward search for string.
  79. C-T Transpose the last two characters typed (if the last character
  80. typed was self inserting). Otherwise, transpose the characters
  81. to the left and right of point, or the two characters to the
  82. left of point if at the end of a line.
  83. C-U Repeat a command. Similar to EMACS's C-U.
  84. C-V Runs the function SCROLL-WINDOW-UP-PAGE-COMMAND.
  85. C-W Runs the function KILL_REGION.
  86. C-X As in EMACS, control-X is a prefix for "fancier" commands.
  87. C-Y Runs the function INSERT_KILL_BUFFER. Yanks back killed text.
  88. C-Z Runs the function DOCONTROLMETA. As in EMACS, acts like
  89. "Control-Meta" (or "Meta-Control").
  90. ESCAPE Runs the function ESCAPEASMETA. As in EMACS, ESCAPE acts like
  91. the "Meta" key.
  92. ) Inserts a "matching" right parenthesis. Bounces back to the
  93. corresponding left parenthesis, or beeps if no matching
  94. parenthesis is found.
  95. RUBOUT Runs the function !$DELETEBACKWARDCHARACTER.
  96. M-C-@ Runs the function MARK-SEXP-COMMAND. Sets mark at the end of
  97. the s-expression following point.
  98. M-C-A In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND.
  99. Moves backward to the beginning of the current or previous)
  100. DEFUN. A DEFUN is heuristically defined to be a line whose
  101. first character is a left parenthesis.
  102. M-C-B Runs the function BACKWARD_SEXPR.
  103. M-C-D Runs the function DOWN-LIST. Moves "deeper" into the next
  104. contained list.
  105. M-C-E In Lisp mode, runs the function END-OF-DEFUN-COMMAND. Moves
  106. forward to the beginning of the next line following the end of
  107. a DEFUN.
  108. M-C-F Runs the function FORWARD_SEXPR.
  109. M-Backspace In Lisp mode, runs the function MARK-DEFUN-COMMAND.
  110. M-Tab In Lisp mode, runs the function LISP-TAB-COMMAND.
  111. M-C-K Runs the function KILL_FORWARD_SEXPR.
  112. M-Return Runs the function BACK-TO-INDENTATION-COMMAND. Similar to C-A,
  113. but skips past any leading blanks.
  114. M-C-N Runs the function MOVE-PAST-NEXT-LIST. Moves to the right of
  115. the current or next list.
  116. M-C-O Runs the function FORWARD-UP-LIST. Moves to the right of the
  117. current list.
  118. M-C-P Runs the function MOVE-PAST-PREVIOUS-LIST. Moves to the
  119. beginning of the current or previous list.
  120. M-C-Q Runs the function LISP-INDENT-SEXPR. "Lisp indents" each line
  121. in the next s-expr.
  122. M-C-U Runs the function BACKWARD-UP-LIST. Does the "opposite" of
  123. FORWARD-UP-LIST.
  124. M-C-Y In Lisp and Rlisp mode runs the function
  125. INSERT_LAST_EXPRESSION. Inserts the last body of text typed as
  126. the result of a M-E.
  127. M-C-Z Runs the function OLDFACE. Leaves EMODE, goes back to
  128. "regular" PSL input/output.
  129. M-Escape In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND.
  130. (See M-C-A.)
  131. M-C-] In Lisp mode, runs the function END-OF-DEFUN-COMMAND. (See
  132. M-C-E.)
  133. M-C-RUBOUT Runs the function KILL_BACKWARD_SEXPR.
  134. M-% Runs the function QUERY-REPLACE-COMMAND. Similar to EMACS's
  135. query replace.
  136. M-( Runs the function INSERT-PARENS. Inserts a matching pair of
  137. parenthesis, leaving point between them.
  138. M-) Runs the function MOVE-OVER-PAREN. Moves over a ")" updating
  139. indentation (as appropriate for Lisp).
  140. M-/ Runs the function !$HELPDISPATCH, see the description of M-?
  141. below.
  142. M-; In Lisp and Rlisp mode runs the function INSERTCOMMENT.
  143. M-< Runs the function !$BEGINNINGOFBUFFER. Move to beginning of
  144. buffer.
  145. M-> Runs the function !$ENDOFBUFFER. Move to end of buffer.
  146. M-? Runs the function !$HELPDISPATCH. Asks for a character and
  147. prints the name of the routine attached to that character.
  148. M-@ Runs the function MARK-WORD-COMMAND.
  149. M-B Runs the function BACKWARD_WORD. Backs up over a word.
  150. M-D Runs the function KILL_FORWARD_WORD.
  151. M-E In Lisp and RLISP modes evaluates the expression starting at
  152. the beginning of the current line.
  153. M-F Runs the function FORWARD_WORD. Moves forward over a word.
  154. M-M Runs the function BACK-TO-INDENTATION-COMMAND. (See M-Return
  155. for more description.)
  156. M-V Runs the function SCROLL-WINDOW-DOWN-PAGE-COMMAND. Moves up a
  157. window.
  158. M-W Runs the function COPY_REGION. Like C-W only it doesn't kill
  159. the region.
  160. M-X Runs the function EXECUTE_COMMAND. Prompts for a string and
  161. then converts it to Lisp expression and evaluates it.
  162. M-Y Runs the function UNKILL_PREVIOUS. Used to cycle through the
  163. kill buffer. Deletes the last yanked back text and then
  164. proceeds to yank back the previous piece of text in the kill
  165. buffer.
  166. M-\ Runs the function DELETE-HORIZONTAL-SPACE-COMMAND. Deletes all
  167. blanks (and tabs) around point.
  168. M-^ Runs the function DELETE-INDENTATION-COMMAND. Deletes CRLF and
  169. indentation at front of line, leaves one space in place of
  170. them.
  171. M-RUBOUT Runs the function KILL_BACKWARD_WORD.
  172. C-X C-B Runs the function PRINTBUFFERNAMES. Prints a list of all the
  173. buffers present.
  174. C-X C-F Runs the function FIND_FILE. Asks for a filename and then
  175. selects the buffer that that file resides in, or creates a new
  176. buffer and reads the file into it.
  177. C-X C-O Runs the function DELETE-BLANK-LINES-COMMAND. Deletes blank
  178. lines around point (leaving one left).
  179. C-X C-P Runs the function WRITESCREENPHOTO. Write a "photograph" of
  180. the screen to a file.
  181. C-X C-R Runs the function CNTRLXREAD. Read a file into the buffer.
  182. C-X C-S Runs the function SAVE_FILE. Writes the buffer to the file
  183. associated with that buffer, asks for an associated file if
  184. none defined.
  185. C-X C-W Runs the function CNTRLXWRITE. Write the buffer out to a file.
  186. C-X C-X Runs the function EXCHANGEPOINTANDMARK
  187. C-X C-Z As in EMACS, exits to the EXEC.
  188. C-X 1 Goes into one window mode.
  189. C-X 2 Goes into two window mode.
  190. C-X B Runs the function CHOOSEBUFFER. EMODE asks for a buffer name,
  191. and then selects (or creates) that buffer for editing.
  192. C-X H Runs the function MARK-WHOLE-BUFFER-COMMAND.
  193. C-X N Runs the function NEXT_WINDOW. Selects the "next" window in
  194. the list of active windows. Note that some active windows may
  195. be covered by other screens, so they will be invisible until
  196. C-X N reaches them and "pops" them to the "top" of the screen.
  197. C-X O An alternate way to invoke NEXT_WINDOW.
  198. C-X P Runs the function PREVIOUS_WINDOW. Selects the "previous"
  199. window in the list of active windows.