]> code.delx.au - gnu-emacs/blobdiff - etc/TUTORIAL
Use <Delback> instead of <Delete>, and explain how to find it.
[gnu-emacs] / etc / TUTORIAL
index f629c644ac4b3e5c43cb922fd85df7b2e001306a..9633b0bf95a19a728eeef48a3ebb6d58214674b8 100644 (file)
@@ -1,5 +1,5 @@
-Copyright (c) 1985 Free Software Foundation, Inc;  See end for conditions.
-You are looking at the Emacs tutorial.
+You are looking at the Emacs tutorial.  See end for copying conditions.
+Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation.
 
 Emacs commands generally involve the CONTROL key (sometimes labeled
 CTRL or CTL) or the META key (sometimes labeled EDIT or ALT).  Rather than
@@ -14,9 +14,10 @@ write that in full each time, we'll use the following abbreviations:
 Important note: to end the Emacs session, type C-x C-c.  (Two characters.)
 The characters ">>" at the left margin indicate directions for you to
 try using a command.  For instance:
-<<Blank lines inserted here by startup of help-with-tutorial>>
+<<Blank lines inserted around following line by help-with-tutorial>>
+[Middle of page left blank for didactic purposes.   Text continues below]
 >>  Now type C-v (View next screen) to move to the next screen.
-       (go ahead, do it by holding down the control key while typing v).
+       (go ahead, do it by holding down the CONTROL key while typing v).
        From now on, you should do this again whenever you finish
        reading the screen.
 
@@ -42,13 +43,17 @@ The following commands are useful for viewing screenfuls:
        C-l     Clear screen and redisplay all the text,
                 moving the text around the cursor
                 to the center of the screen.
-                (That's control-L, not control-1.)
+                (That's CONTROL-L, not CONTROL-1.)
 
 >> Find the cursor, and note what text is near it.
    Then type C-l.
    Find the cursor again and notice that the same text
    is near the cursor now.
 
+You can also use the PageUp and PageDn keys to do scrolling, if your
+terminal has them, but you can edit more efficiently if you use C-v
+and M-v.
+
 
 * BASIC CURSOR CONTROL
 ----------------------
@@ -56,11 +61,10 @@ The following commands are useful for viewing screenfuls:
 Moving from screenful to screenful is useful, but how do you
 move to a specific place within the text on the screen?
 
-There are several ways you can do this.  The most basic way is to use
-the commands C-p, C-b, C-f, and C-n.  Each of these commands moves the
-cursor one row or column in a particular direction on the screen.
-Here is a table showing these four commands and the directions they
-move:
+There are several ways you can do this.  You can use the arrow keys,
+but it's more efficient to keep your hands in the standard position
+and use the commands C-p, C-b, C-f, and C-n.  These characters
+are equivalent to the four arrow keys, like this:
  
                          Previous line, C-p
                                  :
@@ -74,19 +78,19 @@ move:
    using C-n or C-p.  Then type C-l to see the whole diagram
    centered in the screen.
 
-You'll probably find it easy to think of these by letter: P for
-previous, N for next, B for backward and F for forward.  These are the
-basic cursor positioning commands, and you'll be using them ALL the
-time, so it would be of great benefit if you learn them now.
+You'll find it easy to remember these letters by words they stand for:
+P for previous, N for next, B for backward and F for forward.  You
+will be using these basic cursor positioning commands all the time.
 
 >> Do a few C-n's to bring the cursor down to this line.
 
 >> Move into the line with C-f's and then up with C-p's.
    See what C-p does when the cursor is in the middle of the line.
 
-Each text line ends with a Newline character, which serves to separate
-it from the following line.  The last line in your file ought to have
-a Newline at the end (but Emacs does not require it to have one).
+Each line of text ends with a Newline character, which serves to
+separate it from the following line.  The last line in your file ought
+to have a Newline at the end (but Emacs does not require it to have
+one).
 
 >> Try to C-b at the beginning of a line.  It should move to
    the end of the previous line.  This is because it moves back
@@ -107,7 +111,7 @@ without moving it off the screen.
    see what happens.
 
 If moving by characters is too slow, you can move by words.  M-f
-(Meta-f) moves forward a word and M-b moves back a word.
+(META-f) moves forward a word and M-b moves back a word.
 
 >> Type a few M-f's and M-b's.
 
@@ -161,8 +165,8 @@ word and sentence moving commands:
 >> Try all of these commands now a few times for practice.
    These are the most often used commands.
 
-Two other important cursor motion commands are M-< (Meta Less-than),
-which moves to the beginning of the whole text, and M-> (Meta
+Two other important cursor motion commands are M-< (META Less-than),
+which moves to the beginning of the whole text, and M-> (META
 Greater-than), which moves to the end of the whole text.
 
 On most terminals, the "<" is above the comma, so you must use the
@@ -273,20 +277,20 @@ one-window editing.  It is simple:
 
        C-x 1   One window (i.e., kill all other windows).
 
-That is Control-x followed by the digit 1.  C-x 1 expands the window
+That is CONTROL-x followed by the digit 1.  C-x 1 expands the window
 which contains the cursor, to occupy the full screen.  It deletes all
 other windows.
 
 >> Move the cursor to this line and type C-u 0 C-l.
->> Type Control-h k Control-f.
+>> Type CONTROL-h k CONTROL-f.
    See how this window shrinks, while a new one appears
-   to display documentation on the Control-f command.
+   to display documentation on the CONTROL-f command.
 
 >> Type C-x 1 and see the documentation listing window disappear.
 
 This command is unlike the other commands you have learned in that it
-consists of two characters.  It starts with the character Control-x.
-There is a whole series of commands that start with Control-x; many of
+consists of two characters.  It starts with the character CONTROL-x.
+There is a whole series of commands that start with CONTROL-x; many of
 them have to do with windows, files, buffers, and related things.
 These commands are two, three or four characters long.
 
@@ -299,26 +303,33 @@ can see, such as A, 7, *, etc. are taken by Emacs as text and inserted
 immediately.  Type <Return> (the carriage-return key) to insert a
 Newline character.
 
-You can delete the last character you typed by typing <Delete>.
-<Delete> is a key on the keyboard, which may be labeled "Del".  In
-some cases, the "Backspace" key serves as <Delete>, but not always!
+You can delete the last character you typed by typing <Delback>.
+<Delback> is a key on the keyboard--the same one you normally use,
+outside Emacs, for deleting the last character you typed.  It is
+normally a large key a couple of lines up from the <Return> key, and
+it is usually labeled "Delete", "Del" or "Backspace".
+
+If the large key there is labeled "Backspace", then that's the one you
+use for <Delback>.  There may also be another key labeled "Delete"
+somewhere else, but that's not <Delback>.
 
-More generally, <Delete> deletes the character immediately before the
+More generally, <Delback> deletes the character immediately before the
 current cursor position.
 
 >> Do this now--type a few characters, then delete them
-   by typing <Delete> a few times.  Don't worry about this file
+   by typing <Delback> a few times.  Don't worry about this file
    being changed; you will not alter the master tutorial.  This is
    your personal copy of it.
 
 When a line of text gets too big for one line on the screen, the line
 of text is "continued" onto a second screen line.  A backslash ("\")
-at the right margin indicates a line which has been continued.
+(or, if you're using a windowed display, a little curved arrow) at the
+right margin indicates a line which has been continued.
 
 >> Insert text until you reach the right margin, and keep on inserting.
    You'll see a continuation line appear.
 
->> Use <Delete>s to delete the text until the line fits on one screen
+>> Use <Delback>s to delete the text until the line fits on one screen
    line again.  The continuation line goes away.
 
 You can delete a Newline character just like any other character.
@@ -326,7 +337,7 @@ Deleting the Newline character between two lines merges them into
 one line.  If the resulting combined line is too long to fit in the
 screen width, it will be displayed with a continuation line.
 
->> Move the cursor to the beginning of a line and type <Delete>.  This
+>> Move the cursor to the beginning of a line and type <Delback>.  This
    merges that line with the previous line.
 
 >> Type <Return> to reinsert the Newline you deleted.
@@ -341,17 +352,17 @@ You've now learned the most basic way of typing something in
 Emacs and correcting errors.  You can delete by words or lines
 as well.  Here is a summary of the delete operations:
 
-       <Delete>     delete the character just before the cursor
+       <Delback>     delete the character just before the cursor
        C-d          delete the next character after the cursor
 
-       M-<Delete>   kill the word immediately before the cursor
+       M-<Delback>   kill the word immediately before the cursor
        M-d          kill the next word after the cursor
 
        C-k          kill from the cursor position to end of line
        M-k          kill to the end of the current sentence
 
-Notice that <Delete> and C-d vs M-<Delete> and M-d extend the parallel
-started by C-f and M-f (well, <Delete> is not really a control
+Notice that <Delback> and C-d vs M-<Delback> and M-d extend the parallel
+started by C-f and M-f (well, <Delback> is not really a control
 character, but let's not worry about that).  C-k and M-k are like C-e
 and M-e, sort of, in that lines are opposite sentences.
 
@@ -368,18 +379,13 @@ C-w.  That kills all the text between the two positions.
 >> Type C-w.  This will kill the text starting from the Y,
    and ending just before the n.
 
-When you delete more than one character at a time, Emacs saves the
-deleted text so that you can bring it back.  Bringing back killed text
-is called "yanking".  You can yank the killed text either at the same
-place where it was killed, or at some other place in the text.  You
-can yank the text several times in order to make multiple copies of
-it.  The command to yank is C-y.
-
-Note that the difference between "Killing" and "Deleting" something is
-that "Killed" things can be yanked back, and "Deleted" things cannot.
-Generally, the commands that can remove a lot of text save the text,
-while the commands that delete just one character, or just blank lines
-and spaces, do not save the deleted text.
+The difference between "killing" and "deleting" is that "killed" text
+can be reinserted, whereas "deleted" things cannot be reinserted.
+Reinsertion of killed text is called "yanking".  Generally, the
+commands that can remove a lot of text kill the text (they set up so
+that you can yank the text), while the commands that remove just one
+character, or just blank lines and spaces, do deletion (so you cannot
+yank that text).
 
 >> Move the cursor to the  beginning of a line which is not empty.
    Then type C-k to kill the text on that line.
@@ -392,15 +398,20 @@ treats a numeric argument specially: it kills that many lines AND
 their contents.  This is not mere repetition.  C-u 2 C-k kills two
 lines and their newlines; typing C-k twice would not do that.
 
-To retrieve the last killed text and put it where the cursor currently
-is, type C-y.
+Bringing back killed text is called "yanking".  (Think of it as
+yanking back, or pulling back, some text that was taken away.)  You
+can yank the killed text either at the same place where it was killed,
+or at some other place in the buffer, or even in a different file.
+You can yank the text several times, which makes multiple copies of
+it.
+
+The command for yanking is C-y.  It reinserts the last killed text,
+at the current cursor position.
 
 >> Try it; type C-y to yank the text back.
 
-Think of C-y as if you were yanking something back that someone took
-away from you.  Notice that if you do several C-k's in a row, all of
-the killed text is saved together, so that one C-y will yank all of
-the lines.
+If you do several C-k's in a row, all of the killed text is saved
+together, so that one C-y will yank all of the lines at once.
 
 >> Do this now, type C-k several times.
 
@@ -457,6 +468,10 @@ by typing / while holding down CONTROL.
 
 A numeric argument to C-_ or C-x u acts as a repeat count.
 
+You can undo deletion of text just as you can undo killing of text.
+The distinction between killing something and deleting it affects
+whether you can yank it with C-y; it makes no difference for undo.
+
 
 * FILES
 -------
@@ -517,12 +532,12 @@ do this, Emacs renames the original file to a new name so that it is
 not lost.  The new name is made by adding "~" to the end of the
 original file's name.
 
-When saving is finished, Emacs prints the name of the file written.
+When saving is finished, Emacs displays the name of the file written.
 You should save fairly often, so that you will not lose very much
 work if the system should crash.
 
 >> Type C-x C-s, saving your copy of the tutorial.
-   This should print "Wrote ...TUTORIAL" at the bottom of the screen.
+   This should show "Wrote ...TUTORIAL" at the bottom of the screen.
 
 NOTE: On some systems, typing C-x C-s will freeze the screen and you
 will see no further output from Emacs.  This indicates that an
@@ -560,15 +575,39 @@ buffers that currently exist in your Emacs job, type
 
 >> Try C-x C-b now.
 
-See how each buffer has a name, and it may also have a file name
-for the file whose contents it holds.  Some buffers do not correspond
-to files.  For example, the buffer named "*Buffer List*" does
-not have any file.  It is the buffer which contains the buffer
-list that was made by C-x C-b.  ANY text you see in an Emacs window
+See how each buffer has a name, and it may also have a file name for
+the file whose contents it holds.  ANY text you see in an Emacs window
 is always part of some buffer.
 
 >> Type C-x 1 to get rid of the buffer list.
 
+When you have several buffers, only one of them is "current" at any
+time.  That buffer is the one you edit.  If you want to edit another
+buffer, you need to "switch" to it.  If you want to switch to a buffer
+that corresponds to a file, you can do it by visiting the file again
+with C-x C-f.  But there is an easier way: use the C-x b command.
+In that command, you have to type the buffer's name.
+
+>> Type C-x b foo <Return> to go back to the buffer "foo" which holds
+   the text of the file "foo".  Then type C-x b TUTORIAL <Return>
+   to come back to this tutorial.
+
+Most of the time, the buffer's name is the same as the file name
+(without the file directory part).  However, this is not always true.
+The buffer list you make with C-x C-b always shows you the name of
+every buffer.
+
+ANY text you see in an Emacs window is always part of some buffer.
+Some buffers do not correspond to files.  For example, the buffer
+named "*Buffer List*" does not have any file.  It is the buffer which
+contains the buffer list that you made with C-x C-b.  The buffer named
+"*Messages*" also does not correspond to any file; it contains the
+messages that have appeared on the bottom line during your Emacs
+session.
+
+>> Type C-x b *Messages* <Return> to look at the buffer of messages.
+   Then type C-b TUTORIAL <Return> to come back to this tutorial.
+
 If you make changes to the text of one file, then find another file,
 this does not save the first file.  Its changes remain inside Emacs,
 in that file's buffer.  The creation or editing of the second file's
@@ -726,7 +765,7 @@ major mode is the name of an extended command, which is how you can
 switch to that mode.  For example, M-x fundamental-mode is a command to
 switch to Fundamental mode.
 
-If you are going to be editing English text, such as this file, you
+If you are going to be editing human-language text, such as this file, you
 should probably use Text Mode.
 >> Type M-x text mode<Return>.
 
@@ -752,10 +791,10 @@ itself, independent of all other minor modes, and independent of your
 major mode.  So you can use no minor modes, or one minor mode, or any
 combination of several minor modes.
 
-One minor mode which is very useful, especially for editing English
-text, is Auto Fill mode.  When this mode is on, Emacs breaks the line
-in between words automatically whenever you insert text and make a
-line that is too wide.
+One minor mode which is very useful, especially for editing
+human-language text, is Auto Fill mode.  When this mode is on, Emacs
+breaks the line in between words automatically whenever you insert
+text and make a line that is too wide.
 
 You can turn Auto Fill mode on by doing M-x auto fill mode<Return>.
 When the mode is on, you can turn it off again by doing M-x
@@ -778,7 +817,7 @@ as a numeric argument.
 
 If you make changes in the middle of a paragraph, Auto Fill mode
 does not re-fill it for you.
-To re-fill the paragraph, type M-q (Meta-q) with the cursor inside
+To re-fill the paragraph, type M-q (META-q) with the cursor inside
 that paragraph.
 
 >> Move the cursor into the previous paragraph and type M-q.
@@ -809,7 +848,7 @@ you want to search for.  <Return> terminates a search.
    character to notice what happens to the cursor.
    Now you have searched for "cursor", once.
 >> Type C-s again, to search for the next occurrence of "cursor".
->> Now type <Delete> four times and see how the cursor moves.
+>> Now type <Delback> four times and see how the cursor moves.
 >> Type <Return> to terminate the search.
 
 Did you see what happened?  Emacs, in an incremental search, tries to
@@ -825,12 +864,12 @@ letting it get through to Emacs.  To unfreeze the screen, type C-q.
 Then see the section "Spontaneous Entry to Incremental Search" in the
 Emacs manual for advice on dealing with this "feature".
 
-If you are in the middle of an incremental search and type <Delete>,
+If you are in the middle of an incremental search and type <Delback>,
 you'll notice that the last character in the search string is erased
 and the search backs up to the last place of the search.  For
 instance, suppose you have typed "c", to search for the first
 occurrence of "c".  Now if you type "u", the cursor will move
-to the first occurrence of "cu".  Now type <Delete>.  This erases
+to the first occurrence of "cu".  Now type <Delback>.  This erases
 the "u" from the search string, and the cursor moves back to
 the first occurrence of "c".
 
@@ -851,14 +890,14 @@ the search is reversed.
 One of the nice features of Emacs is that you can display more than one
 window on the screen at the same time.
 
->> Move the cursor to this line and type C-u 0 C-l (that's control-L, not
-   control-1).
+>> Move the cursor to this line and type C-u 0 C-l (that's CONTROL-L, not
+   CONTROL-1).
 
 >> Now type C-x 2 which splits the screen into two windows.
    Both windows display this tutorial.  The cursor stays in the top window.
 
 >> Type C-M-v to scroll the bottom window.
-   (If you do not have a real Meta key, type ESC C-v.)
+   (If you do not have a real META key, type ESC C-v.)
 
 >> Type C-x o ("o" for "other") to move the cursor to the bottom window.
 >> Use C-v and M-v in the bottom window to scroll it.
@@ -883,8 +922,8 @@ typing v.  It does not matter whether CONTROL or META "comes first,"
 because both of these keys act by modifying the characters you type.
 
 If you do not have a real META key, and you use ESC instead, the order
-does matter: you must type ESC followed by Control-v, because
-Control-ESC v will not work.  This is because ESC is a character in
+does matter: you must type ESC followed by CONTROL-v, because
+CONTROL-ESC v will not work.  This is because ESC is a character in
 its own right, not a modifier key.
 
 >> Type C-x 1 (in the top window) to get rid of the bottom window.
@@ -936,7 +975,7 @@ it would be impossible to explain it all here.  However, you may want
 to learn more about Emacs since it has many other useful features.
 Emacs provides commands for reading documentation about Emacs
 commands.  These "help" commands all start with the character
-Control-h, which is called "the Help character".
+CONTROL-h, which is called "the Help character".
 
 To use the Help features, type the C-h character, and then a
 character saying what kind of help you want.  If you are REALLY lost,
@@ -984,12 +1023,16 @@ Here are some other useful C-h options:
                function.
 
 >> Try typing C-h f previous-line<Return>.
-   This prints all the information Emacs has about the
+   This displays all the information Emacs has about the
    function which implements the C-p command.
 
+A similar command C-h v displays the documentation of variables whose
+values you can set to customize Emacs behavior.  You need to type in
+the name of the variable when Emacs prompts for it.
+
    C-h a       Command Apropos.  Type in a keyword and Emacs will list
                all the commands whose names contain that keyword.
-               These commands can all be invoked with Meta-x.
+               These commands can all be invoked with META-x.
                For some commands, Command Apropos will also list a one
                or two character sequence which runs the same command.
 
@@ -1003,6 +1046,38 @@ beside the corresponding command names such as find-file.
 
 >> Type C-x 1 to delete the help window.
 
+   C-h i       Read On-line Manuals (a.k.a. Info).  This command puts
+               you into a special buffer called `*info*' where you
+               can read on-line manuals for the packages installed on
+               your system.  Type m emacs <Return> to read the Emacs
+               manual.  If you have never before used Info, type ?
+               and Emacs will take you on a guided tour of Info mode
+               facilities.  Once you are through with this tutorial,
+               you should consult the Emacs Info manual as your
+               primary documentation.
+
+
+* MORE FEATURES
+---------------
+
+You can learn more about Emacs by reading its manual, either as a book
+or on-line in Info (use the Help menu or type F10 h r).  Two features
+that you may like especially are completion, which saves typing, and
+dired, which simplifies file handling.
+
+Completion is a way to avoid unnecessary typing.  For instance, if you
+want to switch to the *Messages* buffer, you can type C-x b *M<Tab>
+and Emacs will fill in the rest of the buffer name as far as it can
+determine from what you have already typed.  Completion is described
+in Info in the Emacs manual in the node called "Completion".
+
+Dired enables you to list files in a directory (and optionally its
+subdirectories), move around that list, visit, rename, delete and
+otherwise operate on the files.  Dired is described in Info in the
+Emacs manual in the node called "Dired".
+
+The manual also describes many other Emacs features.
+
 
 * CONCLUSION
 ------------
@@ -1023,7 +1098,7 @@ starting with the one written by Stuart Cracraft for the original Emacs.
 This version of the tutorial, like GNU Emacs, is copyrighted, and
 comes with permission to distribute copies on certain conditions:
 
-Copyright (c) 1985, 1996 Free Software Foundation
+Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the