annotate etc/TUTORIAL @ 1255:ff06503c93b4

* gud.el (gud-def): Doc fix. (gud-gdb-marker-filter, gud-sdb-marker-filter, gud-dbx-marker-filter): Rename the argument `s' or `str' to `string', and change all uses; these definitions were referring to `string', which is unbound in the lexical context, but which happens to end up being bound to the right thing by the caller, gud-filter. (sdb): Set comint-prompt-regexp, not comint-prompt-pattern; the latter doesn't exist. (gud-dbx-debugger-setup): Use the argument `f', not the variable `file', which happens to be bound in the caller. (gud-filter-insert): The variable `start' is never used. The variable `moving' is unnecessary. The variable `old-buffer' and the unwind-protect form are unneeded, since save-excursion can do their work. The binding of output-after-point should be done after switching to the process's buffer, not in whatever random buffer happens to be current when the process filter is called. There's no need to set the process mark if we've just inserted at its location using insert-before-markers. (gud-read-address): Don't bother setting the variable `result'; it is never used. * gud.el (gud-mode-map): Bind gud-refresh to C-c C-l, not C-c l; the latter is reserved for the user's purposes. * gud.el (gdb, sdb, dbx): Use C-c C-r ("resume") for continuing, instead of C-c C-c. C-c C-c should be comint-interrupt-subjob; it's important to have that available, and the C-c C-c binding is consistent with all the other comint-derived modes.
author Jim Blandy <jimb@redhat.com>
date Tue, 29 Sep 1992 07:45:05 +0000
parents ab9a55b26bd4
children 577493baf266
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 Copyright (c) 1985 Free Software Foundation, Inc; See end for conditions.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 You are looking at the Emacs tutorial.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 Emacs commands generally involve the CONTROL key (sometimes labelled
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 CTRL or CTL) or the META key (sometimes labelled EDIT). Rather than
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 write out META or CONTROL each time we want you to prefix a character,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 we'll use the following abbreviations:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 C-<chr> means hold the CONTROL key while typing the character <chr>
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 Thus, C-f would be: hold the CONTROL key and type f.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 M-<chr> means hold the META or EDIT key down while typing <chr>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 If there is no META or EDIT key, type <ESC>, release it,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 then type the character <chr>. "<ESC>" stands for the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 key labelled "ALT" or "ESC".
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 Important note: to end the Emacs session, type C-x C-c. (Two characters.)
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 The characters ">>" at the left margin indicate directions for you to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 try using a command. For instance:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 <<Blank lines inserted here by startup of help-with-tutorial>>
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 >> Now type C-v (View next screen) to move to the next screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 (go ahead, do it by depressing the control key and v together).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 From now on, you'll be expected to do this whenever you finish
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 reading the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 Note that there is an overlap when going from screen to screen; this
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 provides some continuity when moving through the file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 The first thing that you need to know is how to move around from
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 place to place in the file. You already know how to move forward a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 screen, with C-v. To move backwards a screen, type M-v (depress the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 META key and type v, or type <ESC>v if you don't have a META or EDIT
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 key).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 >> Try typing M-v and then C-v to move back and forth a few times.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 SUMMARY
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 -------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 The following commands are useful for viewing screenfuls:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 C-v Move forward one screenful
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 M-v Move backward one screenful
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 C-l Clear screen and redisplay everything
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 putting the text near the cursor at the center.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 (That's control-L, not control-1.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 There is no such character as control-1.)
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 >> Find the cursor and remember what text is near it.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 Then type a C-l.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 Find the cursor again and see what text is near it now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 BASIC CURSOR CONTROL
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 --------------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 Getting from screenful to screenful is useful, but how do you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 reposition yourself within a given screen to a specific place?
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 There are several ways you can do this. One way (not the best, but
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 the most basic) is to use the commands previous, backward, forward
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 and next. As you can imagine these commands (which are given to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 Emacs as C-p, C-b, C-f, and C-n respectively) move the cursor from
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 where it currently is to a new place in the given direction. Here,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 in a more graphical form are the commands:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 Previous line, C-p
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 Backward, C-b .... Current cursor position .... Forward, C-f
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 Next line, C-n
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 >> Move the cursor to the line in the middle of that diagram
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 and type C-l to see the whole diagram centered in the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 You'll probably find it easy to think of these by letter. P for
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 previous, N for next, B for backward and F for forward. These are
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 the basic cursor positioning commands and you'll be using them ALL
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 the time so it would be of great benefit if you learn them now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 >> Do a few C-n's to bring the cursor down to this line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 >> Move into the line with C-f's and then up with C-p's.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 See what C-p does when the cursor is in the middle of the line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 Lines are separated by Newline characters. For most applications
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 there should normally be a Newline character at the end of the text,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 as well, but it is up to you to make sure of this. A file can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 validly exist without a Newline at the end.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 >> Try to C-b at the beginning of a line. Do a few more C-b's.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 Then do C-f's back to the end of the line and beyond.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 When you go off the top or bottom of the screen, the text beyond
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 the edge is shifted onto the screen so that your instructions can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 be carried out while keeping the cursor on the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 >> Try to move the cursor off the bottom of the screen with C-n and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 see what happens.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 If moving by characters is too slow, you can move by words. M-f
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 (Meta-f) moves forward a word and M-b moves back a word.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 >> Type a few M-f's and M-b's. Intersperse them with C-f's and C-b's.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 Notice the parallel between C-f and C-b on the one hand, and M-f and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 M-b on the other hand. Very often Meta characters are used for
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 operations related to English text whereas Control characters operate
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 on the basic textual units that are independent of what you are
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 editing (characters, lines, etc). There is a similar parallel between
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 lines and sentences: C-a and C-e move to the beginning or end of a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 line, and M-a and M-e move to the beginning or end of a sentence.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 >> Try a couple of C-a's, and then a couple of C-e's.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 Try a couple of M-a's, and then a couple of M-e's.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 See how repeated C-a's do nothing, but repeated M-a's keep moving
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 farther. Do you think that this is right?
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 Two other simple cursor motion commands are M-< (Meta Less-than),
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 which moves to the beginning of the file, and M-> (Meta Greater-than),
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 which moves to the end of the file. You probably don't need to try
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125 them, since finding this spot again will be boring. On most terminals
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 the "<" is above the comma and you must use the shift key to type it.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 On these terminals you must use the shift key to type M-< also;
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 without the shift key, you would be typing M-comma.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130 The location of the cursor in the text is also called "point". To
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 paraphrase, the cursor shows on the screen where point is located in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 the text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 Here is a summary of simple moving operations including the word and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 sentence moving commands:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 C-f Move forward a character
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 C-b Move backward a character
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 M-f Move forward a word
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 M-b Move backward a word
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 C-n Move to next line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 C-p Move to previous line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 C-a Move to beginning of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 C-e Move to end of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149 M-a Move back to beginning of sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 M-e Move forward to end of sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152 M-< Go to beginning of file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 M-> Go to end of file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 >> Try all of these commands now a few times for practice.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 Since the last two will take you away from this screen,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157 you can come back here with M-v's and C-v's. These are
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158 the most often used commands.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
159
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
160 Like all other commands in Emacs, these commands can be given
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 arguments which cause them to be executed repeatedly. The way you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 give a command a repeat count is by typing C-u and then the digits
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 before you type the command. If you have a META or EDIT key, you can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164 omit the C-u if you hold down the META or EDIT key while you type the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165 digits. This is easier, but we recommend the C-u method because it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166 works on any terminal.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168 For instance, C-u 8 C-f moves forward eight characters.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170 >> Try giving a suitable argument to C-n or C-p to come as close
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 as you can to this line in one jump.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 The only apparent exception to this is the screen moving commands,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174 C-v and M-v. When given an argument, they scroll the screen up or
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175 down by that many lines, rather than screenfuls. This proves to be
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 much more useful.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178 >> Try typing C-u 8 C-v now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180 Did it scroll the screen up by 8 lines? If you would like to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181 scroll it down you can give an argument to M-v.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
182
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
183
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
184 WHEN EMACS IS HUNG
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
185 -----------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
186
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
187 If Emacs gets into an infinite (or simply very long) computation which
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
188 you don't want to finish, you can stop it safely by typing C-g.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
189 You can also use C-g to discard a numeric argument or the beginning of
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
190 a command that you don't want to finish.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
191
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
192 >> Type C-u 100 to make a numeric arg of 100, then type C-g.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193 Now type C-f. How many characters does it move?
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
194 If you have typed an <ESC> by mistake, you can get rid of it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195 with a C-g.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
196
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197 If you type <ESC> <ESC>, you get a new window appearing on
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
198 the screen, telling you that M-ESC is a "disabled command"
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 and asking whether you really want to execute it. The command
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200 M-ESC is marked as disabled because you probably don't want to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201 use it until you know more about Emacs, and we expect it would
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
202 confuse you if it were allowed to go ahead and run. If you really
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
203 want to try the M-ESC command, you could type a Space in answer
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
204 to the question and M-ESC would go ahead. Normally, if you do
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
205 not want to execute M-ESC, you would type "n" to answer the question.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
206
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 >> Type <ESC> <ESC>, then type n.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
209
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
210 WINDOWS
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211 -------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 Emacs can have several windows, each displaying its own text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214 At this stage it is better not to go into the techniques of
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215 using multiple windows. But you do need to know how to get
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216 rid of extra windows that may appear to display help or
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217 output from certain commands. It is simple:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219 C-x 1 One window (i.e., kill all other windows).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 That is Control-x followed by the digit 1.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222 C-x 1 makes the window which the cursor is in become
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 the full screen, by getting rid of any other windows.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 >> Move the cursor to this line and type C-u 0 C-l.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
226 >> Type Control-h k Control-f.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227 See how this window shrinks, while a new one appears
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 to display documentation on the Control-f command.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
230 >> Type C-x 1 and see the documentation listing window disappear.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233 INSERTING AND DELETING
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234 ----------------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236 If you want to insert text, just type it. Characters which you can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
237 see, such as A, 7, *, etc. are taken by Emacs as text and inserted
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238 immediately. Type <Return> (the carriage-return key) to insert a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 Newline character.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
240
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 You can delete the last character you typed by typing <Rubout>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 <Rubout> is a key on the keyboard, which might be labelled "Delete"
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 instead of "Rubout" on some terminals. More generally, <Rubout>
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244 deletes the character immediately before the current cursor position.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 >> Do this now, type a few characters and then delete them
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247 by typing <Rubout> a few times. Don't worry about this file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 being changed; you won't affect the master tutorial. This is just
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249 a copy of it.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 >> Now start typing text until you reach the right margin, and keep
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252 typing. When a line of text gets too big for one line on the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253 screen, the line of text is "continued" onto a second screen line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 The backslash at the right margin indicates a line which has
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
255 been continued.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256 >> Use <Rubout>s to delete the text until the line fits on one screen
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 line again. The continuation line goes away.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 >> Move the cursor to the beginning of a line and type <Rubout>. This
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 deletes the newline before the line and merges the line onto
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 the previous line. The resulting line may be too long to fit, in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262 which case it has a continuation line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 >> Type <Return> to reinsert the Newline you deleted.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265 Remember that most Emacs commands can be given a repeat count;
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 this includes characters which insert themselves.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268 >> Try that now -- type C-u 8 * and see what happens.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 You've now learned the most basic way of typing something in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271 Emacs and correcting errors. You can delete by words or lines
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272 as well. Here is a summary of the delete operations:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274 <Rubout> delete the character just before the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 C-d delete the next character after the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
277 M-<Rubout> kill the word immediately before the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 M-d kill the next word after the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 C-k kill from the cursor position to end of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 M-k kill to the end of the current sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283 Notice that <Rubout> and C-d vs M-<Rubout> and M-d extend the parallel
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
284 started by C-f and M-f (well, <Rubout> isn't really a control
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
285 character, but let's not worry about that). C-k and M-k are like C-e
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286 and M-e, sort of, in that lines are opposite sentences.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 Now suppose you kill something, and then you decide that you want to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289 get it back? Well, whenever you kill something bigger than a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290 character, Emacs saves it for you. To yank it back, use C-y. You
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291 can kill text in one place, move elsewhere, and then do C-y; this is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292 a good way to move text around. Note that the difference
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
293 between "Killing" and "Deleting" something is that "Killed" things
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
294 can be yanked back, and "Deleted" things cannot. Generally, the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 commands that can destroy a lot of text save it, while the ones that
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 attack only one character, or nothing but blank lines and spaces, do
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297 not save.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298
34
edf8af31003b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 13
diff changeset
299 For instance, type C-n a couple times to position the cursor
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300 at some line on this screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
302 >> Do this now, move the cursor and kill that line with C-k.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
303
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
304 Note that a single C-k kills the contents of the line, and a second
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 C-k kills the line itself, and make all the other lines move up. If
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
306 you give C-k a repeat count, it kills that many lines AND their
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
307 contents.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
309 The text that has just disappeared is saved so that you can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310 retrieve it. To retrieve the last killed text and put it where
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
311 the cursor currently is, type C-y.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
312
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
313 >> Try it; type C-y to yank the text back.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
314
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
315 Think of C-y as if you were yanking something back that someone
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
316 took away from you. Notice that if you do several C-k's in a row
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317 the text that is killed is all saved together so that one C-y will
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318 yank all of the lines.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
319
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
320 >> Do this now, type C-k several times.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
321
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
322 Now to retrieve that killed text:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
323
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
324 >> Type C-y. Then move the cursor down a few lines and type C-y
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
325 again. You now see how to copy some text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
326
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
327 What do you do if you have some text you want to yank back, and then
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328 you kill something else? C-y would yank the more recent kill. But
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
329 the previous text is not lost. You can get back to it using the M-y
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330 command. After you have done C-y to get the most recent kill, typing
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
331 M-Y replaces that yanked text with the previous kill. Typing M-y
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332 again and again brings in earlier and earlier kills. When you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333 have reached the text you are looking for, you can just go away and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
334 leave it there. If you M-y enough times, you come back to the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
335 starting point (the most recent kill).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
337 >> Kill a line, move around, kill another line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
338 Then do C-y to get back the second killed line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339 Then do M-y and it will be replaced by the first killed line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340 Do more M-y's and see what you get. Keep doing them until
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341 the second kill line comes back, and then a few more.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342 If you like, you can try giving M-y positive and negative
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 arguments.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346 UNDO
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 ----
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349 Any time you make a change to the text and wish you had not done so,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350 you can undo the change (return the text to its previous state)
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
351 with the undo command, C-x u. Normally, C-x u undoes one command's
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352 worth of changes; if you repeat the C-x u several times in a row,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 each time undoes one more command. There are two exceptions:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
354 commands that made no change (just moved the cursor) do not count,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355 and self-inserting characters are often lumped together in groups
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
356 of up to 20. This is to reduce the number of C-x u's you have to type.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
358 >> Kill this line with C-k, then type C-x u and it should reappear.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360 C-_ is another command for undoing; it is just the same as C-x u
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361 but easier to type several times in a row. The problem with C-_ is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362 that on some keyboards it is not obvious how to type it. That is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363 why C-x u is provided as well. On some DEC terminals, you can type
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
364 C-_ by typing / while holding down CTRL. Illogical, but what can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
365 you expect from DEC?
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
366
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
367 Giving a numeric argument to C-_ or C-x u is equivalent to repeating
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
368 it as many times as the argument says.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
369
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
370
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
371 FILES
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372 -----
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
373
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
374 In order to make the text you edit permanent, you must put it in a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
375 file. Otherwise, it will go away when your invocation of Emacs goes
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
376 away. You put your editing in a file by "finding" the file. What
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
377 finding means is that you see the contents of the file in your Emacs;
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
378 and, loosely speaking, what you are editing is the file itself.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
379 However, the changes still don't become permanent until you "save" the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
380 file. This is so you can have control to avoid leaving a half-changed
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
381 file around when you don't want to. Even then, Emacs leaves the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
382 original file under a changed name in case your changes turn out
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
383 to be a mistake.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
384
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
385 If you look near the bottom of the screen you will see a line that
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386 begins and ends with dashes, and contains the string "Emacs: TUTORIAL".
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387 Your copy of the Emacs tutorial is called "TUTORIAL". Whatever
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
388 file you find, that file's name will appear in that precise
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389 spot.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
390
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
391 The commands for finding and saving files are unlike the other
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
392 commands you have learned in that they consist of two characters.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
393 They both start with the character Control-x. There is a whole series
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
394 of commands that start with Control-x; many of them have to do with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
395 files, buffers, and related things, and all of them consist of
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
396 Control-x followed by some other character.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
397
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
398 Another thing about the command for finding a file is that you have
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
399 to say what file name you want. We say the command "reads an argument
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
400 from the terminal" (in this case, the argument is the name of the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
401 file). After you type the command
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
402
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
403 C-x C-f Find a file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
404
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
405 Emacs asks you to type the file name. It echoes on the bottom
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
406 line of the screen. You are using the minibuffer now! this is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
407 what the minibuffer is for. When you type <Return> to end the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
408 file name, the minibuffer is no longer needed, so it disappears.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
409
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
410 >> Type C-x C-f, then type C-g. This cancels the minibuffer,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
411 and also cancels the C-x C-f command that was using the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
412 minibuffer. So you do not find any file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
413
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
414 In a little while the file contents appear on the screen. You can
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415 edit the contents. When you wish to make the changes permanent,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
416 issue the command
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
417
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
418 C-x C-s Save the file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
419
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
420 The contents of Emacs are written into the file. The first time you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
421 do this, the original file is renamed to a new name so that it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
422 is not lost. The new name is made by appending "~" to the end
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
423 of the original file's name.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
424
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
425 When saving is finished, Emacs prints the name of the file written.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
426 You should save fairly often, so that you will not lose very much
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
427 work if the system should crash.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
428
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
429 >> Type C-x C-s, saving your copy of the tutorial.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
430 This should print "Wrote .../TUTORIAL" at the bottom of the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431 On VMS it will print "Wrote ...[...]TUTORIAL."
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
432
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
433 To make a new file, just find it "as if" it already existed. Then
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
434 start typing in the text. When you ask to "save" the file, Emacs
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
435 will really create the file with the text that you have inserted.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
436 From then on, you can consider yourself to be editing an already
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
437 existing file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
438
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
440 BUFFERS
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
441 -------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
442
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
443 If you find a second file with C-x C-f, the first file remains
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444 inside Emacs. You can switch back to it by finding it again with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
445 C-x C-f. This way you can get quite a number of files inside Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
447 The object inside Emacs which holds the text read from one file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
448 is called a "buffer." Finding a file makes a new buffer inside Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
449 To see a list of the buffers that exist in Emacs, type
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
450
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
451 C-x C-b List buffers
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
452
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
453 >> Try C-x C-b now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
454
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
455 See how each buffer has a name, and it may also have a file name
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
456 for the file whose contents it holds. Some buffers do not correspond
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
457 to files. For example, the buffer named "*Buffer List*" does
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458 not have any file. It is the buffer which contains the buffer
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459 list that was made by C-x C-b. ANY text you see in an Emacs window
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
460 has to be in some buffer.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
461
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
462 >> Type C-x 1 to get rid of the buffer list.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
463
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
464 If you make changes to the text of one file, then find another file,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
465 this does not save the first file. Its changes remain inside Emacs,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466 in that file's buffer. The creation or editing of the second file's
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467 buffer has no effect on the first file's buffer. This is very useful,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
468 but it also means that you need a convenient way to save the first
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
469 file's buffer. It would be a nuisance to have to switch back to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
470 it with C-x C-f in order to save it with C-x C-s. So we have
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
471
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
472 C-x s Save some buffers
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
473
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
474 C-x s goes through the list of all the buffers you have
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
475 and finds the ones that contain files you have changed.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
476 For each such buffer, C-x s asks you whether to save it.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
477
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
478
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
479 EXTENDING THE COMMAND SET
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
480 -------------------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
481
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
482 There are many, many more Emacs commands than could possibly be put
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
483 on all the control and meta characters. Emacs gets around this with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
484 the X (eXtend) command. This comes in two flavors:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
485
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
486 C-x Character eXtend. Followed by one character.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
487 M-x Named command eXtend. Followed by a long name.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
488
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
489 These are commands that are generally useful but used less than the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
490 commands you have already learned about. You have already seen two
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
491 of them: the file commands C-x C-f to Find and C-x C-s to Save.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
492 Another example is the command to tell Emacs that you'd like to stop
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
493 editing and get rid of Emacs. The command to do this is C-x C-c.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
494 (Don't worry; it offers to save each changed file before it kills the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
495 Emacs.)
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
497 C-z is the usual way to exit Emacs, because it is always better not to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 kill the Emacs if you are going to do any more editing. On systems
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
499 which allow it, C-z exits from Emacs to the shell but does not destroy
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500 the Emacs; if you use the C shell, you can resume Emacs with the `fg'
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
501 command (or, more generally, with `%emacs', which works even if your
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502 most recent job was some other). On systems where suspending is not
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 possible, C-z creates a subshell running under Emacs to give you the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 chance to run other programs and return to Emacs afterward, but it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 does not truly "exit" from Emacs. In this case, the shell command
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 `exit' is the usual way to get back to Emacs from the subshell.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 You would use C-x C-c if you were about to log out. You would
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 also use it to exit an Emacs invoked under mail handling programs
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 and other random utilities, since they may not believe you have
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511 really finished using the Emacs if it continues to exist.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513 There are many C-x commands. The ones you know are:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
514
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
515 C-x C-f Find file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
516 C-x C-s Save file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517 C-x C-b List buffers.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
518 C-x C-c Quit Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 C-x u Undo.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
520
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
521 Named eXtended commands are commands which are used even less
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
522 frequently, or commands which are used only in certain modes. These
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523 commands are usually called "functions". An example is the function
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
524 replace-string, which globally replaces one string with another. When
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
525 you type M-x, Emacs prompts you at the bottom of the screen with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
526 M-x and you should type the name of the function you wish to call; in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
527 this case, "replace-string". Just type "repl s<TAB>" and Emacs will
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
528 complete the name. End the command name with <Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
529 Then type the two "arguments"--the string to be replaced, and the string
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530 to replace it with--each one ended with a Return.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
531
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
532 >> Move the cursor to the blank line two lines below this one.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
533 Then type M-x repl s<Return>changed<Return>altered<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
534
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
535 Notice how this line has changed: you've replaced
34
edf8af31003b *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 13
diff changeset
536 the word c-h-a-n-g-e-d with "altered" wherever it occurred
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
537 after the cursor.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
538
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
539
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
540 MODE LINE
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
541 ---------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
542
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
543 If Emacs sees that you are typing commands slowly it shows them to you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
544 at the bottom of the screen in an area called the "echo area." The echo
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
545 area contains the bottom line of the screen. The line immediately above
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
546 it is called the MODE LINE. The mode line says something like
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
547
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
548 --**--Emacs: TUTORIAL (Fundamental)----58%-------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
549
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
550 This is a very useful "information" line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
551
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
552 You already know what the filename means--it is the file you have
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
553 found. What the --NN%-- means is that NN percent of the file is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
554 above the top of the screen. If the top of the file is on the screen,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
555 it will say --TOP-- instead of --00%--. If the bottom of the file is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
556 on the screen, it will say --BOT--. If you are looking at a file so
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
557 small it all fits on the screen, it says --ALL--.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
558
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
559 The stars near the front mean that you have made changes to the text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
560 Right after you visit or save a file, there are no stars, just dashes.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
561
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562 The part of the mode line inside the parentheses is to tell you what
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
563 modes you are in. The default mode is Fundamental which is what you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564 are in now. It is an example of a "major mode". There are several
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
565 major modes in Emacs for editing different languages and text, such as
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
566 Lisp mode, Text mode, etc. At any time one and only one major mode is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567 active, and its name can always be found in the mode line just where
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
568 "Fundamental" is now. Each major mode makes a few commands behave
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
569 differently. For example, there are commands for creating comments in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
570 a program, and since each programming language has a different idea of
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
571 what a comment should look like, each major mode has to insert
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
572 comments differently. Each major mode is the name of an extended
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 command, which is how you get into the mode. For example,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574 M-X fundamental-mode is how to get into Fundamental mode.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
575
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576 If you are going to be editing English text, such as this file, you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
577 should probably use Text Mode.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
578 >> Type M-x text-mode<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
580 Don't worry, none of the commands you have learned changes Emacs in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
581 any great way. But you can now observe that periods are no longer
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
582 part of words when you do M-f or M-b! Major modes are usually like
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
583 that: commands don't change into completely unrelated things, but they
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
584 work a little bit differently.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
585
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
586 To get documentation on your current major mode, type C-h m.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
587
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
588 >> Use C-u C-v once or more to bring this line near the top of screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
589 >> Type C-h m, to see how Text mode differs from Fundamental mode.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
590 >> Type C-x 1 to remove the documentation from the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
591
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
592 Major modes are called major because there are also minor modes.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
593 They are called minor because they aren't alternatives to the major
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
594 modes, just minor modifications of them. Each minor mode can be
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
595 turned on or off by itself, regardless of what major mode you are in,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
596 and regardless of the other minor modes. So you can use no minor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
597 modes, or one minor mode, or any combination of several minor modes.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
598
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
599 One minor mode which is very useful, especially for editing English
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
600 text, is Auto Fill mode. When this mode is on, Emacs breaks the line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
601 in between words automatically whenever the line gets too long. You
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
602 can turn this mode on by doing M-x auto-fill-mode<Return>. When the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
603 mode is on, you can turn it off by doing M-x auto-fill-mode<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
604 If the mode is off, this function turns it on, and if the mode is on,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
605 this function turns it off. This is called "toggling".
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 >> Type M-x auto-fill-mode<Return> now. Then insert a line of "asdf "
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608 over again until you see it divide into two lines. You must put in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
609 spaces between them because Auto Fill breaks lines only at spaces.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 The margin is usually set at 70 characters, but you can change it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
612 with the C-x f command. You should give the margin setting you want
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 as a numeric argument.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
614
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 >> Type C-x f with an argument of 20. (C-u 2 0 C-x f).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616 Then type in some text and see Emacs fill lines of 20
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
617 characters with it. Then set the margin back to 70 using
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
618 C-x f again.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
619
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
620 If you makes changes in the middle of a paragraph, Auto Fill mode
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
621 does not re-fill it for you.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
622 To re-fill the paragraph, type M-q (Meta-q) with the cursor inside
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
623 that paragraph.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
624
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
625 >> Move the cursor into the previous paragraph and type M-q.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
626
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
627 SEARCHING
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
628 ---------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
629
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630 Emacs can do searches for strings (these are groups of contiguous
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
631 characters or words) either forward through the file or backward
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632 through it. To search for the string means that you are trying to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
633 locate it somewhere in the file and have Emacs show you where the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
634 occurrences of the string exist. This type of search is somewhat
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
635 different from what you may be familiar with. It is a search that is
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
636 performed as you type in the thing to search for. The command to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
637 initiate a search is C-s for forward search, and C-r for reverse
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
638 search. BUT WAIT! Don't do them now. When you type C-s you'll
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
639 notice that the string "I-search" appears as a prompt in the echo
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
640 area. This tells you that Emacs is in what is called an incremental
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
641 search waiting for you to type the thing that you want to search for.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
642 <ESC> terminates a search.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
643
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
644 >> Now type C-s to start a search. SLOWLY, one letter at a time,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 type the word 'cursor', pausing after you type each
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
646 character to notice what happens to the cursor.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
647 >> Type C-s to find the next occurrence of "cursor".
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
648 >> Now type <Rubout> four times and see how the cursor moves.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
649 >> Type <ESC> to terminate the search.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
650
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
651 Did you see what happened? Emacs, in an incremental search, tries to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
652 go to the occurrence of the string that you've typed out so far. To go
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
653 to the next occurrence of 'cursor' just type C-s again. If no such
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
654 occurrence exists Emacs beeps and tells you that it is a failing
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
655 search. C-g would also terminate the search.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
656
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
657 If you are in the middle of an incremental search and type <Rubout>,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
658 you'll notice that the last character in the search string is erased
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
659 and the search backs up to the last place of the search. For
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
660 instance, suppose you currently have typed 'cu' and you see that your
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
661 cursor is at the first occurrence of 'cu'. If you now type <Rubout>,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
662 the 'u' on the search line is erased and you'll be repositioned in the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
663 text to the occurrence of 'c' where the search took you before you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
664 typed the 'u'. This provides a useful means for backing up while you
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
665 are searching.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
666
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
667 If you are in the middle of a search and happen to type a control
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
668 character (other than a C-s or C-r, which tell Emacs to search for the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
669 next occurrence of the string), the search is terminated.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
670
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
671 The C-s starts a search that looks for any occurrence of the search
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
672 string AFTER the current cursor position. But what if you want to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
673 search for something earlier in the text? To do this, type C-r for
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
674 Reverse search. Everything that applies to C-s applies to C-r except
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
675 that the direction of the search is reversed.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
676
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
677
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
678 MULTIPLE WINDOWS
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
679 ----------------
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
680
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
681 One of the nice features of Emacs is that you can display more than one
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
682 window on the screen at the same time.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
683
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
684 >> Move the cursor to this line and type C-u 0 C-l.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
685
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
686 >> Now type C-x 2 which splits the screen into two windows.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
687 Both windows display this tutorial. The cursor stays in the top window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
688
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
689 >> Type C-M-v to scroll the bottom window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
690
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
691 >> Type C-x o ("o" for "other") to move the cursor to the bottom window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
692 >> Use C-v and M-v in the bottom window to scroll it.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
693 Keep reading these directions in the top window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
694
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
695 >> Type C-x o again to move the cursor back to the top window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
696 The cursor is still just where it was in the top window before.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
697
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
698 You can keep using C-x o to switch between the windows. Each
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
699 window has its own cursor position, but only one window actually
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
700 shows the cursor. All the ordinary editing commands apply to the
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
701 window that the cursor is in.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
702
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
703 The command C-M-v is very useful when you are editing text in one
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
704 window and using the other window just for reference. You can keep
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
705 the cursor always in the window where you are editing, and edit
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
706 there as you advance through the other window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
707
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
708 >> Type C-x 1 (in the top window) to get rid of the bottom window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
709
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
710 (If you had typed C-x 1 in the bottom window, that would get rid
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
711 of the top one. Think of this command as "Keep just one
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
712 window--the window I am already in.")
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
713
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
714 You don't have to display the same buffer in both windows. If
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
715 you use C-x C-f to find a file in one window, the other window
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
716 doesn't change. You can pick a file in each window
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
717 independently.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
718
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
719 Here is another way to use two windows to display two different
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
720 things:
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
721
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
722 >> Type C-x 4 C-f followed by the name of one of your files.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
723 End with <RETURN>. See the specified file appear in the bottom
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
724 window. The cursor goes there, too.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
725
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
726 >> Type C-x o to go back to the top window, and C-x 1 to delete
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
727 the bottom window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
728
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
729
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
730 RECURSIVE EDITING LEVELS
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
731 ------------------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
732
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
733 Sometimes you will get into what is called a "recursive editing
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
734 level". This is indicated by square brackets in the mode line,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
735 surrounding the parentheses around the major mode name. For
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
736 example, you might see [(Fundamental)] instead of (Fundamental).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
737
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
738 To get out of the recursive editing level, type
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
739 M-x top-level<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
740
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
741 >> Try that now; it should display "Back to top level"
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
742 at the bottom of the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
743
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
744 In fact, you were ALREADY at top level (not inside a recursive editing
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
745 level) if you have obeyed instructions. M-x top-level does not care;
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
746 it gets out of any number of recursive editing levels, perhaps zero,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
747 to get back to top level.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
748
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
749 You can't use C-g to get out of a recursive editing level because C-g
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
750 is used for discarding numeric arguments and partially typed commands
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
751 WITHIN the recursive editing level.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
752
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
753
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
754 GETTING MORE HELP
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
755 -----------------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
756
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
757 In this tutorial we have tried to supply just enough information to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
758 get you started using Emacs. There is so much available in Emacs that
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
759 it would be impossible to explain it all here. However, you may want
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
760 to learn more about Emacs since it has numerous desirable features
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
761 that you don't know about yet. Emacs has a great deal of internal
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
762 documentation. All of these commands can be accessed through
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
763 the character Control-h, which we call "the Help character"
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
764 because of the function it serves.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
765
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
766 To use the HELP features, type the C-h character, and then a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
767 character saying what kind of help you want. If you are REALLY lost,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
768 type C-h ? and Emacs will tell you what kinds of help it can give.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
769 If you have typed C-h and decide you don't want any help, just
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
770 type C-G to cancel it.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
771
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
772 The most basic HELP feature is C-h c. Type C-h, a c, and a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
773 command character or sequence, and Emacs displays a very brief
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
774 description of the command.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
775
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
776 >> Type C-h c Control-p.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
777 The message should be something like
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
778
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
779 C-p runs the command previous-line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
780
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
781 This tells you the "name of the function". That is important in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
782 writing Lisp code to extend Emacs; it also is enough to remind
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
783 you of what the command does if you have seen it before but did
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
784 not remember.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
785
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
786 Multi-character commands such as C-x C-s and (if you have no META or
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
787 EDIT key) <ESC>v are also allowed after C-h c.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
788
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
789 To get more information on the command, use C-h k instead of C-h c.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
790
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
791 >> Type C-h k Control-p.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
792
477
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
793 This displays the documentation of the function, as well as its
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
794 name, in an Emacs window. When you are finished reading the
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
795 output, type C-x 1 to get rid of the help text. You do not have
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
796 to do this right away. You can do some editing while referring
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
797 to the help text and then type C-x 1.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
798
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
799 Here are some other useful C-h options:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
800
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
801 C-h f Describe a function. You type in the name of the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
802 function.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
803
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
804 >> Try typing C-h f previous-line<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
805 This prints all the information Emacs has about the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
806 function which implements the C-P command.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
807
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
808 C-h a Command Apropos. Type in a keyword and Emacs will list
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
809 all the commands whose names contain that keyword.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
810 These commands can all be invoked with Meta-x.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
811 For some commands, Command Apropos will also list a one
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
812 or two character sequence which has the same effect.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
813
477
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
814 >> Type C-h a file<Return>.
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
815
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
816 This displays in another window a list of all M-x commands with
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
817 "file" in their names. You will also see commands like C-x C-f
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
818 and C-x C-w, listed beside the command names find-file and
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
819 write-file.
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
820
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
821 >> Type C-M-v to scroll the help window. Do this a few times.
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
822
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
823 >> Type C-x 1 to delete the help window.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
824
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
825
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
826 CONCLUSION
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
827 ----------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
828
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
829 Remember, to exit Emacs permanently use C-x C-c. To exit to a shell
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
830 temporarily, so that you can come back in, use C-z.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
831
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
832 This tutorial is meant to be understandable to all new users, so if
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
833 you found something unclear, don't sit and blame yourself - complain!
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
834
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
835
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
836 COPYING
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
837 -------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
838
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
839 This tutorial descends from a long line of Emacs tutorials
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
840 starting with the one written by Stuart Cracraft for the original Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
841
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
842 This version of the tutorial, like GNU Emacs, is copyrighted, and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
843 comes with permission to distribute copies on certain conditions:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
844
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
845 Copyright (c) 1985 Free Software Foundation
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
846
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
847 Permission is granted to anyone to make or distribute verbatim copies
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
848 of this document as received, in any medium, provided that the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
849 copyright notice and permission notice are preserved,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
850 and that the distributor grants the recipient permission
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
851 for further redistribution as permitted by this notice.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
852
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
853 Permission is granted to distribute modified versions
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
854 of this document, or of portions of it,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
855 under the above conditions, provided also that they
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
856 carry prominent notices stating who last altered them.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
857
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
858 The conditions for copying Emacs itself are slightly different
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
859 but in the same spirit. Please read the file COPYING and then
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
860 do give copies of GNU Emacs to your friends.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
861 Help stamp out software obstructionism ("ownership") by using,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
862 writing, and sharing free software!