keybindings.mss 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. @Comment{This file describes keyboard bindings and useful commands for
  2. EMODE--to be included in other files that need to document them.}
  3. The following commands are notable either for their difference from EMACS,
  4. or for their importance to getting started with EMODE:
  5. @begin[itemize, spread 1]
  6. To leave EMODE type @w[C-X C-Z] to "QUIT" to the EXEC, or @w[C-Z C-Z] to
  7. return to "normal" PSL input/output.
  8. While in EMODE, the "M-?" (meta- question mark) character asks for a
  9. command character and prints the name of the routine attached to that
  10. character.
  11. The function "PrintAllDispatch()" will print out the current dispatch
  12. table. You must call EMODE first, to set this table up.
  13. M-C-Y inserts into the current buffer the text printed as a result of the
  14. last M-E.
  15. M-X prompts for a one line string and then executes it as a Lisp
  16. expression. Of course, similar results can be achieved by using M-E in a
  17. buffer.
  18. @end[itemize]
  19. A (fairly) complete table of keyboard bindings follows:
  20. @begin[description, spread 0]
  21. C-@@@\Runs the function SETMARK.
  22. C-A@\Runs the function !$BEGINNINGOFLINE.
  23. C-B@\Runs the function !$BACKWARDCHARACTER.
  24. C-D@\Runs the function !$DELETEFORWARDCHARACTER.
  25. C-E@\Runs the function !$ENDOFLINE.
  26. C-F@\Runs the function !$FORWARDCHARACTER.
  27. Tab@\In Lisp mode, runs the function LISP-TAB-COMMAND. Indents as
  28. appropriate for Lisp.
  29. @begin[multiple]
  30. Linefeed@\In text mode, runs the function !$CRLF and acts like a carriage
  31. return.
  32. In Lisp mode, runs the function LISP-LINEFEED-COMMAND. Inserts a newline
  33. and indents as appropriate for Lisp.
  34. @end[multiple]
  35. C-K@\Runs the function KILL_LINE.
  36. C-L@\Runs the function FULLREFRESH.
  37. Return@\Runs the function $CRLF (inserts a carriage return).
  38. C-N@\Runs the function !$FORWARDLINE.
  39. C-O@\Runs the function OPENLINE.
  40. C-P@\Runs the function !$BACKWARDLINE.
  41. C-Q@\Runs the function INSERTNEXTCHARACTER. Acts like a "quote" for the
  42. next character typed.
  43. C-R@\Backward search for string, type a carriage return to terminate the
  44. search string. Default (for a null string) is the last string previously
  45. searched for.
  46. C-S@\Forward search for string.
  47. C-T@\Transpose the last two characters typed (if the last character typed
  48. was self inserting). Otherwise, transpose the characters to the left and
  49. right of point, or the two characters to the left of point if at the end of
  50. a line.
  51. C-U@\Repeat a command. Similar to EMACS's C-U.
  52. C-V@\Runs the function SCROLL-WINDOW-UP-PAGE-COMMAND.
  53. C-W@\Runs the function KILL_REGION.
  54. C-X@\As in EMACS, control-X is a prefix for "fancier" commands.
  55. C-Y@\Runs the function INSERT_KILL_BUFFER. Yanks back killed text.
  56. C-Z@\Runs the function DOCONTROLMETA. As in EMACS, acts like
  57. "Control-Meta" (or "Meta-Control").
  58. ESCAPE@\Runs the function ESCAPEASMETA. As in EMACS, ESCAPE acts like the
  59. "Meta" key.
  60. )@\Inserts a "matching" right parenthesis. Bounces back to the
  61. corresponding left parenthesis, or beeps if no matching parenthesis is
  62. found.
  63. RUBOUT@\Runs the function !$DELETEBACKWARDCHARACTER.
  64. M-C-@@@\Runs the function MARK-SEXP-COMMAND. Sets mark at the end of the
  65. s-expression following point.
  66. M-C-A@\In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND. Moves
  67. backward to the beginning of the current or previous) DEFUN. A DEFUN is
  68. heuristically defined to be a line whose first character is a left
  69. parenthesis.
  70. M-C-B@\Runs the function BACKWARD_SEXPR.
  71. M-C-D@\Runs the function DOWN-LIST. Moves "deeper" into the next contained
  72. list.
  73. M-C-E@\In Lisp mode, runs the function END-OF-DEFUN-COMMAND. Moves forward
  74. to the beginning of the next line following the end of a DEFUN.
  75. M-C-F@\Runs the function FORWARD_SEXPR.
  76. M-Backspace@\In Lisp mode, runs the function MARK-DEFUN-COMMAND.
  77. M-Tab@\In Lisp mode, runs the function LISP-TAB-COMMAND.
  78. M-C-K@\Runs the function KILL_FORWARD_SEXPR.
  79. M-Return@\Runs the function BACK-TO-INDENTATION-COMMAND. Similar to C-A,
  80. but skips past any leading blanks.
  81. M-C-N@\Runs the function MOVE-PAST-NEXT-LIST. Moves to the right of the
  82. @i[current] or next list.
  83. M-C-O@\Runs the function FORWARD-UP-LIST. Moves to the right of the
  84. @i[current] list.
  85. M-C-P@\Runs the function MOVE-PAST-PREVIOUS-LIST. Moves to the beginning
  86. of the current or previous list.
  87. M-C-Q@\Runs the function LISP-INDENT-SEXPR. "Lisp indents" each line in
  88. the next s-expr.
  89. M-C-U@\Runs the function BACKWARD-UP-LIST. Does the "opposite" of
  90. FORWARD-UP-LIST.
  91. M-C-Y@\In Lisp and Rlisp mode runs the function INSERT_LAST_EXPRESSION.
  92. Inserts the last body of text typed as the result of a M-E.
  93. M-C-Z@\Runs the function OLDFACE. Leaves EMODE, goes back to "regular"
  94. PSL input/output.
  95. M-Escape@\In Lisp mode, runs the function BEGINNING-OF-DEFUN-COMMAND. (See
  96. M-C-A.)
  97. M-C-]@\In Lisp mode, runs the function END-OF-DEFUN-COMMAND. (See M-C-E.)
  98. M-C-RUBOUT@\Runs the function KILL_BACKWARD_SEXPR.
  99. M-%@\Runs the function QUERY-REPLACE-COMMAND. Similar to EMACS's query
  100. replace.
  101. M-(@\Runs the function INSERT-PARENS. Inserts a matching pair of
  102. parenthesis, leaving point between them.
  103. M-)@\Runs the function MOVE-OVER-PAREN. Moves over a ")" updating
  104. indentation (as appropriate for Lisp).
  105. M-/@\Runs the function !$HELPDISPATCH, see the description of M-? below.
  106. M-;@\In Lisp and Rlisp mode runs the function INSERTCOMMENT.
  107. M-<@\Runs the function !$BEGINNINGOFBUFFER. Move to beginning of buffer.
  108. M->@\Runs the function !$ENDOFBUFFER. Move to end of buffer.
  109. M-?@\Runs the function !$HELPDISPATCH. Asks for a character and prints the
  110. name of the routine attached to that character.
  111. M-@@@\Runs the function MARK-WORD-COMMAND.
  112. M-B@\Runs the function BACKWARD_WORD. Backs up over a word.
  113. M-D@\Runs the function KILL_FORWARD_WORD.
  114. M-E@\In Lisp and RLISP modes evaluates the expression starting at the
  115. beginning of the current line.
  116. M-F@\Runs the function FORWARD_WORD. Moves forward over a word.
  117. M-M@\Runs the function BACK-TO-INDENTATION-COMMAND. (See M-Return for more
  118. description.)
  119. M-V@\Runs the function SCROLL-WINDOW-DOWN-PAGE-COMMAND. Moves up a window.
  120. M-W@\Runs the function COPY_REGION. Like C-W only it doesn't kill the
  121. region.
  122. M-X@\Runs the function EXECUTE_COMMAND. Prompts for a string and then
  123. converts it to Lisp expression and evaluates it.
  124. M-Y@\Runs the function UNKILL_PREVIOUS. Used to cycle through the kill
  125. buffer. Deletes the last yanked back text and then proceeds to yank back
  126. the previous piece of text in the kill buffer.
  127. M-\@\Runs the function DELETE-HORIZONTAL-SPACE-COMMAND. Deletes all blanks
  128. (and tabs) around point.
  129. M-^@\Runs the function DELETE-INDENTATION-COMMAND. Deletes CRLF and
  130. indentation at front of line, leaves one space in place of them.
  131. M-RUBOUT@\Runs the function KILL_BACKWARD_WORD.
  132. C-X C-B@\Runs the function PRINTBUFFERNAMES. Prints a list of all the
  133. buffers present.
  134. C-X C-F@\Runs the function FIND_FILE. Asks for a filename and then selects
  135. the buffer that that file resides in, or creates a new buffer and reads the
  136. file into it.
  137. C-X C-O@\Runs the function DELETE-BLANK-LINES-COMMAND. Deletes blank lines
  138. around point (leaving one left).
  139. C-X C-P@\Runs the function WRITESCREENPHOTO. Write a "photograph" of the
  140. screen to a file.
  141. C-X C-R@\Runs the function CNTRLXREAD. Read a file into the buffer.
  142. C-X C-S@\Runs the function SAVE_FILE. Writes the buffer to the file
  143. associated with that buffer, asks for an associated file if none defined.
  144. C-X C-W@\Runs the function CNTRLXWRITE. Write the buffer out to a file.
  145. C-X C-X@\Runs the function EXCHANGEPOINTANDMARK
  146. C-X C-Z@\As in EMACS, exits to the EXEC.
  147. C-X 1@\Goes into one window mode.
  148. C-X 2@\Goes into two window mode.
  149. C-X B@\Runs the function CHOOSEBUFFER. EMODE asks for a buffer name, and
  150. then selects (or creates) that buffer for editing.
  151. C-X H@\Runs the function MARK-WHOLE-BUFFER-COMMAND.
  152. C-X N@\Runs the function NEXT_WINDOW. Selects the "next" window in the
  153. list of active windows. Note that some active windows may be covered by
  154. other screens, so they will be invisible until @w[C-X N] reaches them and
  155. "pops" them to the "top" of the screen.
  156. C-X O@\An alternate way to invoke NEXT_WINDOW.
  157. C-X P@\Runs the function PREVIOUS_WINDOW. Selects the "previous" window in
  158. the list of active windows.
  159. @end[description]