home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / gnu / emacs-18.59-bin.lha / lib / emacs / 18.59 / etc / TUTORIAL < prev    next >
Text File  |  1988-05-19  |  34KB  |  805 lines

  1. Copyright (c) 1985 Free Software Foundation, Inc;  See end for conditions.
  2.  
  3. You are looking at the Emacs tutorial.
  4.  
  5. Emacs commands generally involve the CONTROL key (sometimes labelled
  6. CTRL or CTL) or the META key (sometimes labelled EDIT).  Rather than
  7. write out META or CONTROL each time we want you to prefix a character,
  8. we'll use the following abbreviations:
  9.  
  10.  C-<chr>  means hold the CONTROL key while typing the character <chr>
  11.       Thus, C-f would be: hold the CONTROL key and type f.
  12.  M-<chr>  means hold the META or EDIT key down while typing <chr>.
  13.       If there is no META or EDIT key, type <ESC>, release it,
  14.       then type the character <chr>.  "<ESC>" stands for the
  15.       key labelled "ALT" or "ESC".
  16.  
  17. Important note: to end the Emacs session, type C-x C-c.  (Two characters.)
  18. The characters ">>" at the left margin indicate directions for you to
  19. try using a command.  For instance:
  20. <<Blank lines inserted here by startup of help-with-tutorial>>
  21. >>  Now type C-v (View next screen) to move to the next screen.
  22.     (go ahead, do it by depressing the control key and v together).
  23.     From now on, you'll be expected to do this whenever you finish
  24.     reading the screen.
  25.  
  26. Note that there is an overlap when going from screen to screen; this
  27. provides some continuity when moving through the file.
  28.  
  29. The first thing that you need to know is how to move around from
  30. place to place in the file.  You already know how to move forward a
  31. screen, with C-v.  To move backwards a screen, type M-v (depress the
  32. META key and type v, or type <ESC>v if you don't have a META or EDIT
  33. key).
  34.  
  35. >>  Try typing M-v and then C-v to move back and forth a few times.
  36.  
  37.  
  38. SUMMARY
  39. -------
  40.  
  41. The following commands are useful for viewing screenfuls:
  42.  
  43.     C-v    Move forward one screenful
  44.     M-v    Move backward one screenful
  45.     C-l    Clear screen and redisplay everything
  46.          putting the text near the cursor at the center.
  47.          (That's control-L, not control-1.
  48.           There is no such character as control-1.)
  49.  
  50. >> Find the cursor and remember what text is near it.
  51.    Then type a C-l.
  52.    Find the cursor again and see what text is near it now.
  53.  
  54.  
  55. BASIC CURSOR CONTROL
  56. --------------------
  57.  
  58. Getting from screenful to screenful is useful, but how do you
  59. reposition yourself within a given screen to a specific place?
  60. There are several ways you can do this.  One way (not the best, but
  61. the most basic) is to use the commands previous, backward, forward
  62. and next.  As you can imagine these commands (which are given to
  63. Emacs as C-p, C-b, C-f, and C-n  respectively) move the cursor from
  64. where it currently is to a new place in the given direction.  Here,
  65. in a more graphical form are the commands:
  66.  
  67.               Previous line, C-p
  68.                   :
  69.                   :
  70.    Backward, C-b .... Current cursor position .... Forward, C-f
  71.                   :
  72.                   :
  73.               Next line, C-n
  74.  
  75. >> Move the cursor to the line in the middle of that diagram
  76.    and type C-l to see the whole diagram centered in the screen.
  77.  
  78. You'll probably find it easy to think of these by letter.  P for
  79. previous, N for next, B for backward and F for forward.  These are
  80. the basic cursor positioning commands and you'll be using them ALL
  81. the time so it would be of great benefit if you learn them now.
  82.  
  83. >> Do a few C-n's to bring the cursor down to this line.
  84.  
  85. >> Move into the line with C-f's and then up with C-p's.
  86.    See what C-p does when the cursor is in the middle of the line.
  87.  
  88. Lines are separated by Newline characters.  For most applications
  89. there should normally be a Newline character at the end of the text,
  90. as well, but it is up to you to make sure of this.  A file can
  91. validly exist without a Newline at the end.
  92.  
  93. >> Try to C-b at the beginning of a line.  Do a few more C-b's.
  94.    Then do C-f's back to the end of the line and beyond.
  95.  
  96. When you go off the top or bottom of the screen, the text beyond
  97. the edge is shifted onto the screen so that your instructions can
  98. be carried out while keeping the cursor on the screen.
  99.  
  100. >> Try to move the cursor off the bottom of the screen with C-n and
  101.    see what happens.
  102.  
  103. If moving by characters is too slow, you can move by words.  M-f
  104. (Meta-f) moves forward a word and M-b moves back a word.
  105.  
  106. >> Type a few M-f's and M-b's.  Intersperse them with C-f's and C-b's.
  107.  
  108. Notice the parallel between C-f and C-b on the one hand, and M-f and
  109. M-b on the other hand.  Very often Meta characters are used for
  110. operations related to English text whereas Control characters operate
  111. on the basic textual units that are independent of what you are
  112. editing (characters, lines, etc).  There is a similar parallel between
  113. lines and sentences: C-a and C-e move to the beginning or end of a
  114. line, and M-a and M-e move to the beginning or end of a sentence.
  115.  
  116. >> Try a couple of C-a's, and then a couple of C-e's.
  117.    Try a couple of M-a's, and then a couple of M-e's.
  118.  
  119. See how repeated C-a's do nothing, but repeated M-a's keep moving
  120. farther.  Do you think that this is right?
  121.  
  122. Two other simple cursor motion commands are M-< (Meta Less-than),
  123. which moves to the beginning of the file, and M-> (Meta Greater-than),
  124. which moves to the end of the file.  You probably don't need to try
  125. them, since finding this spot again will be boring.  On most terminals
  126. the "<" is above the comma and you must use the shift key to type it.
  127. On these terminals you must use the shift key to type M-< also;
  128. without the shift key, you would be typing M-comma.
  129.  
  130. The location of the cursor in the text is also called "point".  To
  131. paraphrase, the cursor shows on the screen where point is located in
  132. the text.
  133.  
  134. Here is a summary of simple moving operations including the word and
  135. sentence moving commands:
  136.  
  137.     C-f    Move forward a character
  138.     C-b    Move backward a character
  139.  
  140.     M-f    Move forward a word
  141.     M-b    Move backward a word
  142.  
  143.     C-n    Move to next line
  144.     C-p    Move to previous line
  145.  
  146.     C-a    Move to beginning of line
  147.     C-e    Move to end of line
  148.  
  149.     M-a    Move back to beginning of sentence
  150.     M-e    Move forward to end of sentence
  151.  
  152.     M-<    Go to beginning of file
  153.     M->    Go to end of file
  154.  
  155. >> Try all of these commands now a few times for practice.
  156.    Since the last two will take you away from this screen,
  157.    you can come back here with M-v's and C-v's.  These are
  158.    the most often used commands.
  159.  
  160. Like all other commands in Emacs, these commands can be given
  161. arguments which cause them to be executed repeatedly.  The way you
  162. give a command a repeat count is by typing C-u and then the digits
  163. before you type the command.  If you have a META or EDIT key, you can
  164. omit the C-u if you hold down the META or EDIT key while you type the
  165. digits.  This is easier, but we recommend the C-u method because it
  166. works on any terminal.
  167.  
  168. For instance, C-u 8 C-f moves forward eight characters.
  169.     
  170. >> Try giving a suitable argument to C-n or C-p to come as close
  171.    as you can to this line in one jump.
  172.  
  173. The only apparent exception to this is the screen moving commands,
  174. C-v and M-v.  When given an argument, they scroll the screen up or
  175. down by that many lines, rather than screenfuls.  This proves to be
  176. much more useful.
  177.  
  178. >> Try typing C-u 8 C-v now.
  179.  
  180. Did it scroll the screen up by 8 lines?  If you would like to
  181. scroll it down you can give an argument to M-v.
  182.  
  183.  
  184. WHEN EMACS IS HUNG
  185. -----------------
  186.  
  187. If Emacs gets into an infinite (or simply very long) computation which
  188. you don't want to finish, you can stop it safely by typing C-g.
  189. You can also use C-g to discard a numeric argument or the beginning of
  190. a command that you don't want to finish.
  191.  
  192. >> Type C-u 100 to make a numeric arg of 100, then type C-g.
  193.    Now type C-f.  How many characters does it move?
  194.    If you have typed an <ESC> by mistake, you can get rid of it
  195.    with a C-g.
  196.  
  197. If you type <ESC> <ESC>, you get a new window appearing on
  198. the screen, telling you that M-ESC is a "disabled command"
  199. and asking whether you really want to execute it.  The command
  200. M-ESC is marked as disabled because you probably don't want to
  201. use it until you know more about Emacs, and we expect it would
  202. confuse you if it were allowed to go ahead and run.  If you really
  203. want to try the M-ESC command, you could type a Space in answer
  204. to the question and M-ESC would go ahead.  Normally, if you do
  205. not want to execute M-ESC, you would type "n" to answer the question.
  206.  
  207. >> Type <ESC> <ESC>, then typ