nmode-emacs.txt 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. NMODE for EMACS users - A quick comparison
  2. Alan Snyder (2 February 1983)
  3. --------------------------------------------------------------------------------
  4. Introduction
  5. If you are familiar with EMACS on the Dec-20, then you should have little
  6. trouble using NMODE, since NMODE is largely compatible with EMACS. If you are
  7. using an HP terminal or the 9836 VT52 emulator, then you can use the cursor
  8. keys and other special function keys with NMODE. There are some differences
  9. between NMODE and EMACS, and these are described below. What you are most
  10. likely to find is that there are some EMACS commands that have not (yet) been
  11. implemented in NMODE; section I below lists the most significant of these. (We
  12. are not promising to implement all EMACS commands, but if there is some command
  13. you just can't live without, let us know, or volunteer to implement it
  14. yourself!) Section II describes areas of inconsistency between NMODE and
  15. EMACS; some of these are deficiencies in NMODE that may someday be fixed,
  16. others are regarded as features of NMODE, and others are just plain differences
  17. which are not likely to go away. Section III lists other known deficiencies in
  18. NMODE, many of which we hope to fix. Section IV summarizes those features of
  19. NMODE that EMACS doesn't have.
  20. --------------------------------------------------------------------------------
  21. I. Things that EMACS has that NMODE doesn't (an incomplete list)
  22. * Auto Save
  23. * Help Character (C-_)
  24. * Many 'options' variables (NMODE has almost none)
  25. * Most Minor Modes, including:
  26. Word Abbrev Mode
  27. Auto Arg Mode
  28. Atom Word Mode
  29. Overwrite Mode
  30. Indent Tabs Mode
  31. * The Tags Package
  32. M-. (find tag)
  33. M-X Visit Tag Table
  34. M-X Tags Search
  35. * Local Modes specification in files
  36. * Syntax Table
  37. * Miscellaneous commands:
  38. C-M-G (grind form)
  39. M-= (count lines region)
  40. C-M-Z (exit recursive edit)
  41. M-Esc (Execute Minibuffer)
  42. C-X Esc (ReExecute Minibuffer)
  43. * Mail Commands:
  44. C-X M (Send Mail)
  45. C-X R (Read Mail)
  46. M-X Check Mail
  47. * Comment commands:
  48. C-; (indent for comment)
  49. C-M-; (kill comment)
  50. Return (skip trailing comment terminator)
  51. C-X ; (set comment column)
  52. M-N (down comment line)
  53. M-P (up comment line)
  54. M-J or M-Linefeed (indent new comment line)
  55. * Indentation commands:
  56. C-X Tab (indent rigidly)
  57. * Text-Processor commands:
  58. M-# (change font word)
  59. M-_ (underline word)
  60. C-X # (change font region)
  61. C-X _ (underline region)
  62. * File commands:
  63. C-X C-D (directory display)
  64. C-X C-Q (set file read only)
  65. M-X Clean Directory
  66. M-X Copy File
  67. M-X List Files
  68. M-X Reap File
  69. M-X Rename File
  70. M-X View Directory
  71. M-X View File
  72. * Page commands:
  73. C-X [ (previous page)
  74. C-X ] (next page)
  75. C-X L (count lines page)
  76. C-X C-P (mark page)
  77. M-X What Page
  78. * Many M-X commands, including:
  79. M-X Compare Windows
  80. M-X List Matching Lines
  81. M-X Occur
  82. M-X Tabify
  83. M-X Untabify
  84. M-X View Buffer
  85. * Keyboard macros
  86. C-X (
  87. C-X )
  88. C-X E
  89. C-X Q
  90. M-X Name Kbd Macro
  91. M-X Write Kbd Macro
  92. * Command Libraries
  93. M-X Kill Libraries
  94. M-X List Library
  95. M-X List Loaded Libraries
  96. M-X Load Library
  97. M-X Run Library
  98. * Spelling Correction (M-$)
  99. * Narrowing:
  100. C-X N (Narrow Bounds to Region)
  101. C-X P (Narrow Bounds to Page)
  102. C-X W (Widen Bounds)
  103. --------------------------------------------------------------------------------
  104. II. Inconsistencies between NMODE and EMACS
  105. A. NMODE Features
  106. * NMODE DIRED 'E' and 'V' commands allow editing of the file. These commands
  107. do not use "recursive editing": arbitrary switching between buffers and
  108. windows is allowed; C-M-L returns to the previous buffer (not C-M-Z).
  109. * NMODE has a separate ring of marks for each buffer.
  110. * NMODE C-X C-B brings up a buffer browser, instead of just listing the buffers.
  111. * NMODE's Lisp parsing commands recognize comments, string literals,
  112. character literals, etc. For this reason, the commands C-M-N (Forward
  113. List) and C-M-P (Backward List) are not really needed, although they
  114. are presently still provided.
  115. * When the fill prefix is non-null, NMODE treats lines not beginning with the
  116. fill prefix as delimiting a paragraph (ZMACS does this, too). EMACS will
  117. treat a single preceding line without the fill prefix as the first line of the
  118. paragraph and will insert the prefix onto that line when you do M-Q.
  119. * NMODE's incremental search allows you to rubout the old search string
  120. (inserted by an immediate C-S or C-R) one character at a time, instead of
  121. all at once (like EMACS).
  122. B. NMODE Deficiencies (may be fixed someday)
  123. * NMODE Query-Replace does not alter the case of the replacement string,
  124. does not support word search, does not support recursive edit.
  125. * NMODE does not have a ring buffer of buffers; the default buffer for C-X B
  126. may be different than in EMACS.
  127. * NMODE's incremental search does not escape to a non-incremental search,
  128. does not do word searches, always ignores case.
  129. * No completion on File Name input.
  130. * NMODE doesn't set the Mode from the first line of a file.
  131. * In NMODE, M-digit does not enter autoarg mode (i.e., if you then type a
  132. digit (without Meta), the digit is inserted.
  133. * NMODE search commands never set the Mark.
  134. * NMODE lacks true read-only buffers.
  135. * NMODE's Dired does not support C, H, or N. Dired commands do not take
  136. a command argument.
  137. * NMODE's Kill Buffer commands ask for confirmation rather than offering
  138. to write out the buffer.
  139. * NMODE's C-M-Q command does not use the command argument.
  140. * NMODE's C-X H command does not use the command argument.
  141. * NMODE's M-< command does not use the command argument.
  142. * NMODE's M-> command does not use the command argument.
  143. * NMODE's C-X C-Z command does not save any files.
  144. * NMODE's M-X Make Space command does not offer to delete buffers, kill
  145. rings, etc.
  146. * NMODE's C-M-R command works only in Lisp mode (it doesn't do paragraphs).
  147. * NMODE's Return command doesn't delete blanks and tabs when moving onto
  148. a new line.
  149. * NMODE's Return command is not changed in Auto Fill mode.
  150. * NMODDE's LineFeed command is quite a bit different: (1) it doesn't delete
  151. spaces before the inserted CRLF; (2) it doesn't use the fill prefix to
  152. indent; (3) it passes the command argument to the Return command, rather
  153. than to the Tab command.
  154. * NMODE's C-X T command doesn't try to readjust the marks.
  155. * NMODE's C-X 4 command recognizes only B and F as options (not C-B or C-F).
  156. C. Just Plain Differences
  157. * NMODE customization is completely different than EMACS customization.
  158. * NMODE M-X commands always prompt for their arguments; Escape is not a
  159. terminator for the command name.
  160. * Find File in NMODE creates a buffer whose name is of the form "foo.bar",
  161. rather than "foo".
  162. * In NMODE, the various Lisp-related commands (C-M-B, etc.) are defined
  163. only in Lisp mode.
  164. * NMODE's "defun" commands don't set the mark.
  165. * C-M-L means "return to previous buffer" instead of "insert formfeed".
  166. * C-] is a prefix character (in Lisp mode) instead of meaning "abort".
  167. * C-X P means "write screen photo" instead of "narrow bounds to page".
  168. * NMODEs text filling commands compress non-leading tabs into spaces;
  169. EMACS leaves them alone.
  170. --------------------------------------------------------------------------------
  171. III. Known deficiencies of NMODE
  172. * During prompted character input, the cursor remains in the edit window.
  173. * Printing to the OUTPUT buffer is slow.
  174. * Quitting out of NMODE to the standard break handler won't restore echoing.
  175. * NMODE does not provide a good way to interrupt a Lisp-E execution or printout.
  176. (The only way is to ^C NMODE and then START it.)
  177. * "Typeout" is clumsy.
  178. * If you type ^^x to get C-X, the prompt string is sort of strange.
  179. --------------------------------------------------------------------------------
  180. IV. Things that NMODE has that EMACS doesn't
  181. * Miscellaneous Commands:
  182. M-Z - format comment (automatically sets the fill prefix)
  183. C-X V - toggle between normal and inverse-video
  184. C-X < - scroll window left
  185. C-X > - scroll window right
  186. C-X P - write screen photograph to file
  187. C-X E - exchange windows
  188. * Lisp Interface Commands
  189. * Buffer Browser
  190. * Split Screen option for Dired (and the Buffer Browser)
  191. * Two-Screen option (on 9836 with auxiliary color monitor)
  192. -------------------------------------------------------------------------------