annotate etc/TUTORIAL @ 22239:0a666cecb85d

(CHAR_TABLE_TRANSLATE): New macro.
author Richard M. Stallman <rms@gnu.org>
date Mon, 25 May 1998 20:28:28 +0000
parents 98611be1ad61
children ef426e5873e3
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 You are looking at the Emacs tutorial.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
14019
18c79b8e0396 Fix spelling.
Karl Heuer <kwzh@gnu.org>
parents: 12647
diff changeset
4 Emacs commands generally involve the CONTROL key (sometimes labeled
18c79b8e0396 Fix spelling.
Karl Heuer <kwzh@gnu.org>
parents: 12647
diff changeset
5 CTRL or CTL) or the META key (sometimes labeled EDIT or ALT). Rather than
15291
22f9530a700e Rephrase the first page to fit on a standard tty screen.
Karl Heuer <kwzh@gnu.org>
parents: 14019
diff changeset
6 write that in full each time, we'll use the following abbreviations:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 C-<chr> means hold the CONTROL key while typing the character <chr>
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 Thus, C-f would be: hold the CONTROL key and type f.
12647
b94ff6c62c5d Explain CTRL-META chars and how to use ESC for them.
Richard M. Stallman <rms@gnu.org>
parents: 12609
diff changeset
10 M-<chr> means hold the META or EDIT or ALT key down while typing <chr>.
15291
22f9530a700e Rephrase the first page to fit on a standard tty screen.
Karl Heuer <kwzh@gnu.org>
parents: 14019
diff changeset
11 If there is no META, EDIT or ALT key, instead press and release the
22f9530a700e Rephrase the first page to fit on a standard tty screen.
Karl Heuer <kwzh@gnu.org>
parents: 14019
diff changeset
12 ESC key and then type <chr>. We write <ESC> for the ESC key.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 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
15 The characters ">>" at the left margin indicate directions for you to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 try using a command. For instance:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 <<Blank lines inserted here by startup of help-with-tutorial>>
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 >> Now type C-v (View next screen) to move to the next screen.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
19 (go ahead, do it by holding down the control key while typing v).
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
20 From now on, you should do this again whenever you finish
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 reading the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
23 Note that there is an overlap of two lines when you move from screen
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
24 to screen; this provides some continuity so you can continue reading
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
25 the text.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
27 The first thing that you need to know is how to move around from place
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
28 to place in the text. You already know how to move forward one screen,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
29 with C-v. To move backwards one screen, type M-v (hold down the META key
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
30 and type v, or type <ESC>v if you do not have a META, EDIT, or ALT key).
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
32 >> Try typing M-v and then C-v, a few times.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
35 * SUMMARY
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
36 ---------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 The following commands are useful for viewing screenfuls:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 C-v Move forward one screenful
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 M-v Move backward one screenful
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
42 C-l Clear screen and redisplay all the text,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
43 moving the text around the cursor
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
44 to the center of the screen.
4351
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
45 (That's control-L, not control-1.)
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
47 >> Find the cursor, and note what text is near it.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
48 Then type C-l.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
49 Find the cursor again and notice that the same text
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
50 is near the cursor now.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
53 * BASIC CURSOR CONTROL
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
54 ----------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
56 Moving from screenful to screenful is useful, but how do you
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
57 move to a specific place within the text on the screen?
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
58
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
59 There are several ways you can do this. The most basic way is to use
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
60 the commands C-p, C-b, C-f, and C-n. Each of these commands moves the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
61 cursor one row or column in a particular direction on the screen.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
62 Here is a table showing these four commands and shows the directions
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
63 they move:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 Previous line, C-p
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 Backward, C-b .... Current cursor position .... Forward, C-f
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 :
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 :
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
71 Next line, C-n
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 >> Move the cursor to the line in the middle of that diagram
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
74 using C-n or C-p. Then type C-l to see the whole diagram
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
75 centered in the screen.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
77 You'll probably find it easy to think of these by letter: P for
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
78 previous, N for next, B for backward and F for forward. These are the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
79 basic cursor positioning commands, and you'll be using them ALL the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
80 time, so it would be of great benefit if you learn them now.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 >> 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
83
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 >> 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
85 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
86
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
87 Each of text line ends with a Newline character, which serves to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
88 separate it from the following line. The last line in your file ought
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
89 to have a Newline at the end (but Emacs does not require it to have
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
90 one).
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
91
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
92 >> Try to C-b at the beginning of a line. It should move to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
93 the end of the previous line. This is because it moves back
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
94 across the Newline character.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
95
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
96 C-f can move across a Newline just like C-b.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
98 >> Do a few more C-b's, so you get a feel for where the cursor is.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
99 Then do C-f's to return to the end of the line.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
100 Then do one more C-f to move to the following line.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
102 When you move past the top or bottom of the screen, the text beyond
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
103 the edge shifts onto the screen. This is called "scrolling". It
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
104 enables Emacs to move the cursor to the specified place in the text
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
105 without moving it off the screen.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
107 >> Try to move the cursor off the bottom of the screen with C-n, and
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 see what happens.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 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
111 (Meta-f) moves forward a word and M-b moves back a word.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
113 >> Type a few M-f's and M-b's.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
114
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
115 When you are in the middle of a word, M-f moves to the end of the word.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
116 When you are in whitespace between words, M-f moves to the end of the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
117 following word. M-b works likewise in the opposite direction.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
118
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
119 >> Type M-f and M-b a few times, interspersed with C-f's and C-b's
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
120 so that you can observe the action of M-f and M-b from various
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
121 places inside and between words.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123 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
124 M-b on the other hand. Very often Meta characters are used for
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
125 operations related to the units defined by language (words, sentences,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
126 paragraphs), while Control characters operate on basic units that are
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
127 independent of what you are editing (characters, lines, etc).
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
128
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
129 This parallel applies between lines and sentences: C-a and C-e move to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
130 the beginning or end of a line, and M-a and M-e move to the beginning
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
131 or end of a sentence.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 >> 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
134 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
135
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
136 See how repeated C-a's do nothing, but repeated M-a's keep moving one
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
137 more sentence. Although these are not quite analogous, each one seems
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
138 natural.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 The location of the cursor in the text is also called "point". To
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 paraphrase, the cursor shows on the screen where point is located in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 the text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
144 Here is a summary of simple cursor-moving operations, including the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
145 word and sentence moving commands:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 C-f Move forward a character
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 C-b Move backward a character
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 M-f Move forward a word
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151 M-b Move backward a word
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 C-n Move to next line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 C-p Move to previous line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 C-a Move to beginning of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157 C-e Move to end of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
159 M-a Move back to beginning of sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
160 M-e Move forward to end of sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
162 >> Try all of these commands now a few times for practice.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
163 These are the most often used commands.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
164
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
165 Two other important cursor motion commands are M-< (Meta Less-than),
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
166 which moves to the beginning of the whole text, and M-> (Meta
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
167 Greater-than), which moves to the end of the whole text.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
169 On most terminals, the "<" is above the comma, so you must use the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
170 shift key to type it. On these terminals you must use the shift key
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
171 to type M-< also; without the shift key, you would be typing M-comma.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
172
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
173 >> Try M-< now, to move to the beginning of the tutorial.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
174 Then use C-v repeatedly to move back here.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
175
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
176 >> Try M-> now, to move to the end of the tutorial.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
177 Then use M-v repeatedly to move back here.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
179 You can also move the cursor with the arrow keys, if your terminal has
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
180 arrow keys. We recommend learning C-b, C-f, C-n and C-p for three
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
181 reasons. First, they work on all kinds of terminals. Second, once
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
182 you gain practice at using Emacs, you will find that typing these Control
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
183 characters is faster than typing the arrow keys (because you do not
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
184 have to move your hands away from touch-typing position). Third, once
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
185 you form the habit of using these Control character commands, you can
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
186 easily learn to use other advanced cursor motion commands as well.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
187
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
188 Most Emacs commands accept a numeric argument; for most commands, this
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
189 serves as a repeat-count. The way you give a command a repeat count
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
190 is by typing C-u and then the digits before you type the command. If
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
191 you have a META (or EDIT or ALT) key, there is another alternative way
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
192 to enter a numeric argument: type the digits while holding down the
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
193 META key. We recommend learning the C-u method because it works on
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
194 any terminal.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
196 For instance, C-u 8 C-f moves forward eight characters.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
198 >> Try using C-n or C-p with a numeric argument, to move the cursor
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
199 to a line near this one with just one command.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
201 Most commands use the numeric argument as a repeat count. Certain
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
202 exceptional commands use it differently. C-v and M-v are among the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
203 exceptions. When given an argument, they scroll the screen up or down
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
204 by that many lines, rather than by a screenfuls. For example, C-u 4
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
205 C-v scrolls the screen by 4 lines.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
206
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 >> Try typing C-u 8 C-v now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
209 This should have scrolled the screen up by 8 lines. If you would like
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
210 to scroll it down again, you can give an argument to M-v.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
212 If you are using X Windows, there should be a tall rectangular area
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
213 called a scroll bar at the left hand side of the Emacs window. You
2863
c91f3cf7b7f1 Describe scroll bars.
Richard M. Stallman <rms@gnu.org>
parents: 2619
diff changeset
214 can scroll the text by clicking the mouse in the scroll bar.
c91f3cf7b7f1 Describe scroll bars.
Richard M. Stallman <rms@gnu.org>
parents: 2619
diff changeset
215
c91f3cf7b7f1 Describe scroll bars.
Richard M. Stallman <rms@gnu.org>
parents: 2619
diff changeset
216 >> Try pressing the middle button at the top of the highlighted area
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
217 within the scroll bar. This should scroll the text to a position
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
218 determined by how high or low you click.
2863
c91f3cf7b7f1 Describe scroll bars.
Richard M. Stallman <rms@gnu.org>
parents: 2619
diff changeset
219
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
220 >> Try moving the mouse up and down, while holding the middle button
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
221 pressed down. You'll see that the text scrolls up and down as
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
222 you move the mouse.
2863
c91f3cf7b7f1 Describe scroll bars.
Richard M. Stallman <rms@gnu.org>
parents: 2619
diff changeset
223
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
225 * WHEN EMACS IS HUNG
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
226 --------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
228 If Emacs stops responding to your commands, you can stop it safely by
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
229 typing C-g. You can use C-g to stop a command which is taking too
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
230 long to execute.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
231
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232 You can also use C-g to discard a numeric argument or the beginning of
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
233 a command that you do not want to finish.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 >> Type C-u 100 to make a numeric arg of 100, then type C-g.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
236 Now type C-f. It should move just one character,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
237 because you canceled the argument with C-g.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
238
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
239 If you have typed an <ESC> by mistake, you can get rid of it
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
240 with a C-g.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
241
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
242
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
243 * DISABLED COMMANDS
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
244 -------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
246 Some Emacs commands are "disabled" so that beginning users cannot use
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
247 them by accident.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
248
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
249 If you type one of the disabled commands, Emacs displays a message
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
250 saying what the command was, and asking you whether you want to go
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
251 ahead and execute the command.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
253 If you really want to try the command, type Space in answer to the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
254 question. Normally, if you do not want to execute the disabled
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
255 command, answer the question with "n".
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
256
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
257 >> Type <ESC> : (which is a disabled command),
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
258 then type n to answer the question.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
261 * WINDOWS
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
262 ---------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
264 Emacs can have several windows, each displaying its own text. We will
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
265 explain later on how to use multiple windows. Right now we want to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
266 explain how to get rid of extra windows and go back to basic
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
267 one-window editing. It is simple:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 C-x 1 One window (i.e., kill all other windows).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
271 That is Control-x followed by the digit 1. C-x 1 expands the window
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
272 which contains the cursor, to occupy the full screen. It deletes all
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
273 other windows.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 >> Move the cursor to this line and type C-u 0 C-l.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276 >> Type Control-h k Control-f.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
277 See how this window shrinks, while a new one appears
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 to display documentation on the Control-f command.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 >> Type C-x 1 and see the documentation listing window disappear.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
282 This command is unlike the other commands you have learned in that it
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
283 consists of two characters. It starts with the character Control-x.
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
284 There is a whole series of commands that start with Control-x; many of
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
285 them have to do with windows, files, buffers, and related things.
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
286 These commands are two, three or four characters long.
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
287
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
289 * INSERTING AND DELETING
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
290 ------------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
292 If you want to insert text, just type the text. Characters which you
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
293 can see, such as A, 7, *, etc. are taken by Emacs as text and inserted
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
294 immediately. Type <Return> (the carriage-return key) to insert a
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 Newline character.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
297 You can delete the last character you typed by typing <Delete>.
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
298 <Delete> is a key on the keyboard, which may be labeled "Del". In
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
299 some cases, the "Backspace" key serves as <Delete>, but not always!
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
300
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
301 More generally, <Delete> deletes the character immediately before the
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
302 current cursor position.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
303
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
304 >> Do this now--type a few characters, then delete them
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
305 by typing <Delete> a few times. Don't worry about this file
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
306 being changed; you will not alter the master tutorial. This is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
307 your personal copy of it.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
309 When a line of text gets too big for one line on the screen, the line
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
310 of text is "continued" onto a second screen line. A backslash ("\")
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
311 at the right margin indicates a line which has been continued.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
312
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
313 >> Insert text until you reach the right margin, and keep on inserting.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
314 You'll see a continuation line appear.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
315
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
316 >> Use <Delete>s to delete the text until the line fits on one screen
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317 line again. The continuation line goes away.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
319 You can delete a Newline character just like any other character.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
320 Deleting the Newline character between two lines merges them into
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
321 one line. If the resulting combined line is too long to fit in the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
322 screen width, it will be displayed with a continuation line.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
323
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
324 >> Move the cursor to the beginning of a line and type <Delete>. This
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
325 merges that line with the previous line.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
326
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
327 >> Type <Return> to reinsert the Newline you deleted.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
329 Remember that most Emacs commands can be given a repeat count;
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
330 this includes text characters. Repeating a text character inserts
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
331 it several times.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
333 >> Try that now -- type C-u 8 * to insert ********.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
334
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
335 You've now learned the most basic way of typing something in
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336 Emacs and correcting errors. You can delete by words or lines
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
337 as well. Here is a summary of the delete operations:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
338
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
339 <Delete> delete the character just before the cursor
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340 C-d delete the next character after the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
342 M-<Delete> kill the word immediately before the cursor
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 M-d kill the next word after the cursor
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345 C-k kill from the cursor position to end of line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346 M-k kill to the end of the current sentence
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
348 Notice that <Delete> and C-d vs M-<Delete> and M-d extend the parallel
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
349 started by C-f and M-f (well, <Delete> is not really a control
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350 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
351 and M-e, sort of, in that lines are opposite sentences.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
353 When you delete more than one character at a time, Emacs saves the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
354 deleted text so that you can bring it back. Bringing back killed text
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
355 is called "yanking". You can yank the killed text either at the same
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
356 place where it was killed, or at some other place in the text. You
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
357 can yank the text several times in order to make multiple copies of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
358 it. The command to yank is C-y.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
360 Note that the difference between "Killing" and "Deleting" something is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
361 that "Killed" things can be yanked back, and "Deleted" things cannot.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
362 Generally, the commands that can remove a lot of text save the text,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
363 while the commands that delete just one character, or just blank lines
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
364 and spaces, do not save the deleted text.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
365
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
366 >> Move the cursor to the beginning of a line which is not empty.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
367 Then type C-k to kill the text on that line.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
368 >> Type C-k a second time. You'll see that it kills the Newline
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
369 which follows that line.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
370
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
371 Note that a single C-k kills the contents of the line, and a second
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
372 C-k kills the line itself, and make all the other lines move up. C-k
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
373 treats a numeric argument specially: it kills that many lines AND
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
374 their contents. This is not mere repetition. C-u 2 C-k kills two
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
375 lines and their newlines; typing C-k twice would not do that.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
376
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
377 To retrieve the last killed text and put it where the cursor currently
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
378 is, type C-y.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
379
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
380 >> Try it; type C-y to yank the text back.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
381
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
382 Think of C-y as if you were yanking something back that someone took
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
383 away from you. Notice that if you do several C-k's in a row, all of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
384 the killed text is saved together, so that one C-y will yank all of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
385 the lines.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387 >> Do this now, type C-k several times.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
388
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389 Now to retrieve that killed text:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
390
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
391 >> 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
392 again. You now see how to copy some text.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
393
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
394 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
395 you kill something else? C-y would yank the more recent kill. But
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
396 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
397 command. After you have done C-y to get the most recent kill, typing
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
398 M-y replaces that yanked text with the previous kill. Typing M-y
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
399 again and again brings in earlier and earlier kills. When you have
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
400 reached the text you are looking for, you do not have to do anything to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
401 keep it. Just go on with your editing, leaving the yanked text where
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
402 it is.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
403
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
404 If you M-y enough times, you come back to the starting point (the most
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
405 recent kill).
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
406
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
407 >> Kill a line, move around, kill another line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
408 Then do C-y to get back the second killed line.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
409 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
410 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
411 the second kill line comes back, and then a few more.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
412 If you like, you can try giving M-y positive and negative
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
413 arguments.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
414
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
416 * UNDO
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
417 ------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
418
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
419 If you make a change to the text, and then decide that it was a
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
420 mistake, you can undo the change with the undo command, C-x u.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
421
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
422 Normally, C-x u undoes the changes made by one command; if you repeat
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
423 the C-x u several times in a row, each repetition undoes one
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
424 additional command.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
425
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
426 But there are two exceptions: commands that do not change the text do
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
427 not count (this includes cursor motion commands and scrolling
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
428 command), and self-inserting characters are usually handled in groups
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
429 of up to 20. (This is to reduce the number of C-x u's you have to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
430 type to undo insertion of text.)
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
432 >> 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
433
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
434 C-_ is an alternative undo command; it works just the same as C-x u,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
435 but it is easier to type several times in a row. The disadvantage of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
436 C-_ is that on some keyboards it is not obvious how to type it. That
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
437 is why we provide C-x u as well. On some terminals, you can type C-_
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
438 by typing / while holding down CONTROL.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
440 A numeric argument to C-_ or C-x u acts as a repeat count.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
441
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
442
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
443 * FILES
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
444 -------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
445
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446 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
447 file. Otherwise, it will go away when your invocation of Emacs goes
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
448 away. In order to put your text in a file, you must "find" the file
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
449 before you enter the text. (This is also called "visiting" the file.)
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
450
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
451 Finding a file means that you see the contents of the file within
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
452 Emacs. In many ways, it is as if you were editing the file itself.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
453 However, the changes you make using Emacs do not become permanent
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
454 until you "save" the file. This is so you can avoid leaving a
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
455 half-changed file on the system when you do not want to. Even when
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
456 you save, Emacs leaves the original file under a changed name in case
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
457 you later decide that your changes were a mistake.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459 If you look near the bottom of the screen you will see a line that
19772
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
460 begins and ends with dashes, and starts with "--:-- TUTORIAL" or
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
461 something like that. This part of the screen normally shows the name
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
462 of the file that you are visiting. Right now, you are visiting a file
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
463 called "TUTORIAL" which is your personal scratch copy of the Emacs
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
464 tutorial. When you find a file with Emacs, that file's name will
e254e01f3113 Mode line format has changed.
Richard M. Stallman <rms@gnu.org>
parents: 18579
diff changeset
465 appear in that precise spot.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
467 One special thing about the command for finding a file is that you
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
468 have to say what file name you want. We say the command "reads an
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
469 argument from the terminal" (in this case, the argument is the name of
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
470 the file). After you type the command
13
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 C-f Find a file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
473
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
474 Emacs asks you to type the file name. The file name you type appears
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
475 on the bottom line of the screen. The bottom line is called the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
476 minibuffer when it is used for this sort of input. You can use
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
477 ordinary Emacs editing commands to edit the file name.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
478
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
479 While you are entering the file name (or any minibuffer input),
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
480 you can cancel the command with C-g.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
481
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
482 >> Type C-x C-f, then type C-g. This cancels the minibuffer,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
483 and also cancels the C-x C-f command that was using the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
484 minibuffer. So you do not find any file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
485
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
486 When you have finished entering the file name, type <Return> to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
487 terminate it. Then C-x C-f command goes to work, and finds the file
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
488 you chose. The minibuffer disappears when the C-x C-f command is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
489 finished.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
490
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
491 In a little while the file contents appear on the screen, and you can
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
492 edit the contents. When you wish to make your changes permanent,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
493 type the command
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
494
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
495 C-x C-s Save the file
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
497 This copies the text within Emacs into the file. The first time you
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
498 do this, Emacs renames the original file to a new name so that it is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
499 not lost. The new name is made by adding "~" to the end of the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
500 original file's name.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
501
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502 When saving is finished, Emacs prints the name of the file written.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 You should save fairly often, so that you will not lose very much
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 work if the system should crash.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 >> Type C-x C-s, saving your copy of the tutorial.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
507 This should print "Wrote ...TUTORIAL" at the bottom of the screen.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508
8128
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
509 NOTE: On some systems, typing C-x C-s will freeze the screen and you
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
510 will see no further output from Emacs. This indicates that an
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
511 operating system "feature" called "flow control" is intercepting the
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
512 C-s and not letting it get through to Emacs. To unfreeze the screen,
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
513 type C-q. Then see the section "Spontaneous Entry to Incremental
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
514 Search" in the Emacs manual for advice on dealing with this "feature".
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
515
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
516 You can find an existing file, to view it or edit it. You can also
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
517 find a file which does not already exist. This is the way to create a
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
518 file with Emacs: find the file, which will start out empty, and then
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
519 begin inserting the text for the file. When you ask to "save" the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
520 file, Emacs will really create the file with the text that you have
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
521 inserted. From then on, you can consider yourself to be editing an
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
522 already existing file.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
524
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
525 * BUFFERS
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
526 ---------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
527
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
528 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
529 inside Emacs. You can switch back to it by finding it again with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530 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
531
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
532 >> Create a file named "foo" by typing C-x C-f foo <Return>.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
533 Then insert some text, edit it, and save "foo" by typing C-x C-s.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
534 Finally, type C-x C-f TUTORIAL <Return>
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
535 to come back to the tutorial.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
536
21494
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
537 Emacs stores each file's text inside an object called a "buffer".
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
538 Finding a file makes a new buffer inside Emacs. To see a list of the
21494
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
539 buffers that currently exist in your Emacs job, type
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
540
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
541 C-x C-b List buffers
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
542
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
543 >> Try C-x C-b now.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
544
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
545 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
546 for the file whose contents it holds. Some buffers do not correspond
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
547 to files. For example, the buffer named "*Buffer List*" does
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
548 not have any file. It is the buffer which contains the buffer
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
549 list that was made by C-x C-b. ANY text you see in an Emacs window
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
550 is always part of some buffer.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
551
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
552 >> Type C-x 1 to get rid of the buffer list.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
553
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
554 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
555 this does not save the first file. Its changes remain inside Emacs,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
556 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
557 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
558 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
559 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
560 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
561
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562 C-x s Save some buffers
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
563
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
564 C-x s asks you about each buffer which contains changes that you have
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
565 not saved. It asks you, for each such buffer, whether to save the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
566 buffer.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
568 >> Insert a line of text, then type C-x s.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
569 It should ask you whether to save the buffer named TUTORIAL.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
570 Answer yes to the question by typing "y".
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
571
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
572 * EXTENDING THE COMMAND SET
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
573 ---------------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
575 There are many, many more Emacs commands than could possibly be put
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576 on all the control and meta characters. Emacs gets around this with
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
577 the X (eXtend) command. This comes in two flavors:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
578
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579 C-x Character eXtend. Followed by one character.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
580 M-x Named command eXtend. Followed by a long name.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
581
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
582 These are commands that are generally useful but used less than the
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
583 commands you have already learned about. You have already seen two of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
584 them: the file commands C-x C-f to Find and C-x C-s to Save. Another
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
585 example is the command to end the Emacs session--this is the command
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
586 C-x C-c. (Do not worry about losing changes you have made; C-x C-c
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
587 offers to save each changed file before it kills the Emacs.)
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
588
9560
4217123670e2 Better info about C-z vs C-x C-c.
Richard M. Stallman <rms@gnu.org>
parents: 8128
diff changeset
589 C-z is the command to exit Emacs *temporarily*--so that you can go
4217123670e2 Better info about C-z vs C-x C-c.
Richard M. Stallman <rms@gnu.org>
parents: 8128
diff changeset
590 back to the same Emacs session afterward.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
591
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
592 On systems which allow it, C-z "suspends" Emacs; that is, it returns
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
593 to the shell but does not destroy the Emacs. In the most common
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
594 shells, you can resume Emacs with the `fg' command or with `%emacs'.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
595
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
596 On systems which do not implement suspending, C-z creates a subshell
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
597 running under Emacs to give you the chance to run other programs and
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
598 return to Emacs afterward; it does not truly "exit" from Emacs. In
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
599 this case, the shell command `exit' is the usual way to get back to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
600 Emacs from the subshell.
9560
4217123670e2 Better info about C-z vs C-x C-c.
Richard M. Stallman <rms@gnu.org>
parents: 8128
diff changeset
601
4217123670e2 Better info about C-z vs C-x C-c.
Richard M. Stallman <rms@gnu.org>
parents: 8128
diff changeset
602 The time to use C-x C-c is when you are about to log out. It's also
4217123670e2 Better info about C-z vs C-x C-c.
Richard M. Stallman <rms@gnu.org>
parents: 8128
diff changeset
603 the right thing to use to exit an Emacs invoked under mail handling
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
604 programs and other miscellaneous utilities, since they may not know
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
605 how to cope with suspension of Emacs. In ordinary circumstances,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
606 though, if you are not about to log out, it is better to suspend Emacs
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
607 with C-z instead of exiting Emacs.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
609 There are many C-x commands. Here is a list of the ones you have learned:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 C-x C-f Find file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
612 C-x C-s Save file.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 C-x C-b List buffers.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
614 C-x C-c Quit Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 C-x u Undo.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
617 Named eXtended commands are commands which are used even less
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
618 frequently, or commands which are used only in certain modes. An
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
619 example is the command replace-string, which globally replaces one
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
620 string with another. When you type M-x, Emacs prompts you at the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
621 bottom of the screen with M-x and you should type the name of the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
622 command; in this case, "replace-string". Just type "repl s<TAB>" and
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
623 Emacs will complete the name. End the command name with <Return>.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
624
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
625 The replace-string command requires two arguments--the string to be
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
626 replaced, and the string to replace it with. You must end each
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
627 argument with <Return>.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
628
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
629 >> Move the cursor to the blank line two lines below this one.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630 Then type M-x repl s<Return>changed<Return>altered<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
631
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632 Notice how this line has changed: you've replaced
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
633 the word c-h-a-n-g-e-d with "altered" wherever it occurred,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
634 after the initial position of the cursor.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
635
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
636
10698
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
637 * AUTO SAVE
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
638 -----------
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
639
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
640 When you have made changes in a file, but you have not saved them yet,
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
641 they could be lost if your computer crashes. To protect you from
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
642 this, Emacs periodically writes an "auto save" file for each file that
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
643 you are editing. The auto save file name has a # at the beginning and
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
644 the end; for example, if your file is named "hello.c", its auto save
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
645 file's name is "#hello.c#". When you save the file in the normal way,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
646 Emacs deletes its auto save file.
10698
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
647
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
648 If the computer crashes, you can recover your auto-saved editing by
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
649 finding the file normally (the file you were editing, not the auto
21494
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
650 save file) and then typing M-x recover file<Return>. When it asks for
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
651 confirmation, type yes<Return> to go ahead and recover the auto-save
10698
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
652 data.
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
653
9dc3f4fc6b7f Talk about auto save.
Richard M. Stallman <rms@gnu.org>
parents: 9560
diff changeset
654
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
655 * ECHO AREA
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
656 -----------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
657
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
658 If Emacs sees that you are typing commands slowly it shows them to you
21494
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
659 at the bottom of the screen in an area called the "echo area". The echo
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
660 area contains the bottom line of the screen.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
661
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
662
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
663 * MODE LINE
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
664 -----------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
665
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
666 The line immediately above the echo area it is called the "mode line".
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
667 The mode line says something like this:
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
668
20125
5ac02369f793 Fix another instance of mode line format.
Karl Heuer <kwzh@gnu.org>
parents: 19772
diff changeset
669 --:** TUTORIAL (Fundamental)--L670--58%----------------
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
670
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
671 This line gives useful information about the status of Emacs and
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
672 the text you are editing.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
673
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
674 You already know what the filename means--it is the file you have
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
675 found. -NN%-- indicates your current position in the text; it means
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
676 that NN percent of the text is above the top of the screen. If the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
677 top of the file is on the screen, it will say --Top-- instead of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
678 --00%--. If the bottom of the text is on the screen, it will say
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
679 --Bot--. If you are looking at text so small that all of it fits on
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
680 the screen, the mode line says --All--.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
681
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
682 The stars near the front mean that you have made changes to the text.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
683 Right after you visit or save a file, that part of the mode line shows
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
684 no stars, just dashes.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
685
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
686 The part of the mode line inside the parentheses is to tell you what
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
687 editing modes you are in. The default mode is Fundamental which is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
688 what you are using now. It is an example of a "major mode".
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
689
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
690 Emacs has many different major modes. Some of them are meant for
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
691 editing different languages and/or kinds of text, such as Lisp mode,
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
692 Text mode, etc. At any time one and only one major mode is active,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
693 and its name can always be found in the mode line just where
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
694 "Fundamental" is now.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
695
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
696 Each major mode makes a few commands behave differently. For example,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
697 there are commands for creating comments in a program, and since each
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
698 programming language has a different idea of what a comment should
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
699 look like, each major mode has to insert comments differently. Each
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
700 major mode is the name of an extended command, which is how you can
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
701 switch to that mode. For example, M-x fundamental-mode is a command to
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
702 switch to Fundamental mode.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
703
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
704 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
705 should probably use Text Mode.
21494
34dea67e7854 *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 21296
diff changeset
706 >> Type M-x text mode<Return>.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
707
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
708 Don't worry, none of the commands you have learned changes Emacs in
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
709 any great way. But you can observe that M-f and M-b now treat
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
710 apostrophes as part of words. Previously, in Fundamental mode,
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
711 M-f and M-b treated apostrophes as word-separators.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
712
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
713 Major modes usually make subtle changes like that one: most commands
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
714 do "the same job" in each major mode, but they work a little bit
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
715 differently.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
716
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
717 To view documentation on your current major mode, type C-h m.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
718
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
719 >> 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
720 >> Type C-h m, to see how Text mode differs from Fundamental mode.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
721 >> Type C-x 1 to remove the documentation from the screen.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
722
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
723 Major modes are called major because there are also minor modes.
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
724 Minor modes are alternatives not to the major modes, just minor
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
725 modifications of them. Each minor mode can be turned on or off by
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
726 itself, independent of all other minor modes, and independent of your
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
727 major mode. So you can use no minor modes, or one minor mode, or any
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
728 combination of several minor modes.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
729
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
730 One minor mode which is very useful, especially for editing English
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
731 text, is Auto Fill mode. When this mode is on, Emacs breaks the line
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
732 in between words automatically whenever you insert text and make a
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
733 line that is too wide.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
734
21593
98611be1ad61 Use spaces, not dashes, in M-x command.
Richard M. Stallman <rms@gnu.org>
parents: 21494
diff changeset
735 You can turn Auto Fill mode on by doing M-x auto fill mode<Return>.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
736 When the mode is on, you can turn it off by doing M-x
21593
98611be1ad61 Use spaces, not dashes, in M-x command.
Richard M. Stallman <rms@gnu.org>
parents: 21494
diff changeset
737 auto fill mode<Return>. If the mode is off, this command turns it on,
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
738 and if the mode is on, this command turns it off. We say that the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
739 command "toggles the mode".
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
740
21593
98611be1ad61 Use spaces, not dashes, in M-x command.
Richard M. Stallman <rms@gnu.org>
parents: 21494
diff changeset
741 >> Type M-x auto fill mode<Return> now. Then insert a line of "asdf "
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
742 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
743 spaces between them because Auto Fill breaks lines only at spaces.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
744
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
745 The margin is usually set at 70 characters, but you can change it
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
746 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
747 as a numeric argument.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
748
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
749 >> 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
750 Then type in some text and see Emacs fill lines of 20
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
751 characters with it. Then set the margin back to 70 using
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
752 C-x f again.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
753
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
754 If you makes changes in the middle of a paragraph, Auto Fill mode
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
755 does not re-fill it for you.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
756 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
757 that paragraph.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
758
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
759 >> Move the cursor into the previous paragraph and type M-q.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
760
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
761 * SEARCHING
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
762 -----------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
763
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
764 Emacs can do searches for strings (these are groups of contiguous
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
765 characters or words) either forward through the text or backward
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
766 through it. Searching for a string is a cursor motion command;
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
767 it moves the cursor to the next place where that string appears.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
768
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
769 The Emacs search command is different from the search commands
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
770 of most editors, in that it is "incremental". This means that the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
771 search happens while you type in the string to search for.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
772
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
773 The command to initiate a search is C-s for forward search, and C-r
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
774 for reverse search. BUT WAIT! Don't try them now.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
775
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
776 When you type C-s you'll notice that the string "I-search" appears as
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
777 a prompt in the echo area. This tells you that Emacs is in what is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
778 called an incremental search waiting for you to type the thing that
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
779 you want to search for. <Return> terminates a search.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
780
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
781 >> 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
782 type the word 'cursor', pausing after you type each
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
783 character to notice what happens to the cursor.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
784 Now you have searched for "cursor", once.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
785 >> Type C-s again, to search for the next occurrence of "cursor".
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
786 >> Now type <Delete> four times and see how the cursor moves.
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
787 >> Type <Return> to terminate the search.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
788
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
789 Did you see what happened? Emacs, in an incremental search, tries to
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
790 go to the occurrence of the string that you've typed out so far. To
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
791 go to the next occurrence of 'cursor' just type C-s again. If no such
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
792 occurrence exists Emacs beeps and tells you the search is currently
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
793 "failing", C-g would also terminate the search.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
794
8128
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
795 NOTE: On some systems, typing C-s will freeze the screen and you will
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
796 see no further output from Emacs. This indicates that an operating
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
797 system "feature" called "flow control" is intercepting the C-s and not
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
798 letting it get through to Emacs. To unfreeze the screen, type C-q.
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
799 Then see the section "Spontaneous Entry to Incremental Search" in the
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
800 Emacs manual for advice on dealing with this "feature".
027fb17a2952 Talk about flow control along with C-x C-s and C-s.
Richard M. Stallman <rms@gnu.org>
parents: 6597
diff changeset
801
11903
5d0ad882565c Delete reference to ALT. Change <Rubout> to <Delete>.
Karl Heuer <kwzh@gnu.org>
parents: 10699
diff changeset
802 If you are in the middle of an incremental search and type <Delete>,
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
803 you'll notice that the last character in the search string is erased
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
804 and the search backs up to the last place of the search. For
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
805 instance, suppose you have typed "c", to search for the first
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
806 occurrence of "c". Now if you type "u", the cursor will move
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
807 to the first occurrence of "cu". Now type <Delete>. This erases
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
808 the "u" from the search string, and the cursor moves back to
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
809 the first occurrence of "c".
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
810
4351
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
811 If you are in the middle of a search and type a control or meta
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
812 character (with a few exceptions--characters that are special in
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
813 a search, such as C-s and C-r), the search is terminated.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
814
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
815 The C-s starts a search that looks for any occurrence of the search
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
816 string AFTER the current cursor position. If you want to search for
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
817 something earlier in the text, type C-r instead. Everything that we
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
818 have said about C-s also applies to C-r, except that the direction of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
819 the search is reversed.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
820
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
821
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
822 * MULTIPLE WINDOWS
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
823 ------------------
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
824
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
825 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
826 window on the screen at the same time.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
827
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
828 >> 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
829
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
830 >> 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
831 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
832
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
833 >> Type C-M-v to scroll the bottom window.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
834 (If you do not have a real Meta key, type ESC C-v.)
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
835
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
836 >> 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
837 >> 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
838 Keep reading these directions in the top window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
839
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
840 >> Type C-x o again to move the cursor back to the top window.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
841 The cursor in the top window is just where it was before.
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
842
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
843 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
844 window has its own cursor position, but only one window actually
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
845 shows the cursor. All the ordinary editing commands apply to the
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
846 window that the cursor is in. We call this the "selected window".
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
847
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
848 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
849 window and using the other window just for reference. You can keep
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
850 the cursor always in the window where you are editing, and advance
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
851 through the other window sequentially with C-M-v.
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
852
12647
b94ff6c62c5d Explain CTRL-META chars and how to use ESC for them.
Richard M. Stallman <rms@gnu.org>
parents: 12609
diff changeset
853 C-M-v is an example of a CONTROL-META character. If you have a real
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
854 META key, you can type C-M-v by holding down both CONTROL and META while
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
855 typing v. It does not matter whether CONTROL or META "comes first,"
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
856 because both of these keys act by modifying the characters you type.
12647
b94ff6c62c5d Explain CTRL-META chars and how to use ESC for them.
Richard M. Stallman <rms@gnu.org>
parents: 12609
diff changeset
857
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
858 If you do not have a real META key, and you use ESC instead, the order
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
859 does matter: you must type ESC followed by Control-v, because
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
860 Control-ESC v will not work. This is because ESC is a character in
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
861 its own right, not a modifier key.
12647
b94ff6c62c5d Explain CTRL-META chars and how to use ESC for them.
Richard M. Stallman <rms@gnu.org>
parents: 12609
diff changeset
862
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
863 >> 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
864
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
865 (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
866 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
867 window--the window I am already in.")
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
868
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
869 You do not have to display the same buffer in both windows. If you
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
870 use C-x C-f to find a file in one window, the other window does not
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
871 change. You can find a file in each window independently.
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
872
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
873 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
874 things:
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
875
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
876 >> Type C-x 4 C-f followed by the name of one of your files.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
877 End with <Return>. See the specified file appear in the bottom
476
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
878 window. The cursor goes there, too.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
879
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
880 >> 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
881 the bottom window.
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
882
6d25047306d9 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 34
diff changeset
883
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
884 * RECURSIVE EDITING LEVELS
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
885 --------------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
886
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
887 Sometimes you will get into what is called a "recursive editing
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
888 level". This is indicated by square brackets in the mode line,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
889 surrounding the parentheses around the major mode name. For
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
890 example, you might see [(Fundamental)] instead of (Fundamental).
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
891
15443
7a3398850d94 Mention ESC ESC ESC instead of M-x top-level.
Richard M. Stallman <rms@gnu.org>
parents: 15291
diff changeset
892 To get out of the recursive editing level, type ESC ESC ESC. That is
7a3398850d94 Mention ESC ESC ESC instead of M-x top-level.
Richard M. Stallman <rms@gnu.org>
parents: 15291
diff changeset
893 an all-purpose "get out" command. You can also use it for eliminating
7a3398850d94 Mention ESC ESC ESC instead of M-x top-level.
Richard M. Stallman <rms@gnu.org>
parents: 15291
diff changeset
894 extra windows, and getting out of the minibuffer.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
895
15443
7a3398850d94 Mention ESC ESC ESC instead of M-x top-level.
Richard M. Stallman <rms@gnu.org>
parents: 15291
diff changeset
896 >> Type M-x to get into a minibuffer; then type ESC ESC ESC to get out.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
897
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
898 You cannot use C-g to get out of a recursive editing level. This is
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
899 because C-g is used for canceling commands and arguments WITHIN the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
900 recursive editing level.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
901
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
902
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
903 * GETTING MORE HELP
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
904 -------------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
905
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
906 In this tutorial we have tried to supply just enough information to
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
907 get you started using Emacs. There is so much available in Emacs that
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
908 it would be impossible to explain it all here. However, you may want
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
909 to learn more about Emacs since it has many other useful features.
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
910 Emacs provides commands for reading documentation about Emacs
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
911 commands. These "help" commands all start with the character
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
912 Control-h, which is called "the Help character".
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
913
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
914 To use the Help features, type the C-h character, and then a
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
915 character saying what kind of help you want. If you are REALLY lost,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
916 type C-h ? and Emacs will tell you what kinds of help it can give.
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
917 If you have typed C-h and decide you do not want any help, just
4351
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
918 type C-g to cancel it.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
919
18579
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
920 (Some sites change the meaning of the character C-h. They really
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
921 should not do this as a blanket measure for all users, so you have
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
922 grounds to complain to the system administrator. Meanwhile, if C-h
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
923 does not display a message about help at the bottom of the screen, try
21296
25db4bc0e67e *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 20125
diff changeset
924 typing the F1 key or M-x help <Return> instead.)
6597
c78bae220849 Advise about case where C-h is rebound.
Richard M. Stallman <rms@gnu.org>
parents: 6276
diff changeset
925
18579
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
926 The most basic HELP feature is C-h c. Type C-h, the character c, and
6a0e208faefd Minor fixes.
Richard M. Stallman <rms@gnu.org>
parents: 17128
diff changeset
927 a command character or sequence; then Emacs displays a very brief
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
928 description of the command.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
929
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
930 >> Type C-h c Control-p.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
931 The message should be something like
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
932
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
933 C-p runs the command previous-line
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
934
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
935 This tells you the "name of the function". Function names are used
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
936 mainly for customizing and extending Emacs. But since function names
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
937 are chosen to indicate what the command does, they can serve also as
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
938 very brief documentation--sufficient to remind you of commands you
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
939 have already learned.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
940
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
941 Multi-character commands such as C-x C-s and (if you have no META or
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
942 EDIT or ALT key) <ESC>v are also allowed after C-h c.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
943
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
944 To get more information about a command, use C-h k instead of C-h c.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
945
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
946 >> Type C-h k Control-p.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
947
477
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
948 This displays the documentation of the function, as well as its
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
949 name, in an Emacs window. When you are finished reading the
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
950 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
951 to do this right away. You can do some editing while referring
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
952 to the help text, and then type C-x 1.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
953
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
954 Here are some other useful C-h options:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
955
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
956 C-h f Describe a function. You type in the name of the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
957 function.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
958
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
959 >> Try typing C-h f previous-line<Return>.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
960 This prints all the information Emacs has about the
4351
2173e8c3723b *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4190
diff changeset
961 function which implements the C-p command.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
962
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
963 C-h a Command Apropos. Type in a keyword and Emacs will list
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
964 all the commands whose names contain that keyword.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
965 These commands can all be invoked with Meta-x.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
966 For some commands, Command Apropos will also list a one
17128
6de8cf26e115 Fix punctuation; add some missing words.
Karl Heuer <kwzh@gnu.org>
parents: 16730
diff changeset
967 or two character sequence which runs the same command.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
968
477
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
969 >> Type C-h a file<Return>.
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
970
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
971 This displays in another window a list of all M-x commands with "file"
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
972 in their names. You will see character-commands like C-x C-f listed
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
973 beside the corresponding command names such as find-file.
477
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
974
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
975 >> 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
976
ab9a55b26bd4 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 476
diff changeset
977 >> Type C-x 1 to delete the help window.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
978
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
979
1375
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
980 * CONCLUSION
577493baf266 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 477
diff changeset
981 ------------
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
982
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
983 Remember, to exit Emacs permanently use C-x C-c. To exit to a shell
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
984 temporarily, so that you can come back to Emacs afterward, use C-z.
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
985
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
986 This tutorial is meant to be understandable to all new users, so if
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
987 you found something unclear, don't sit and blame yourself - complain!
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
988
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
989
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
990 COPYING
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
991 -------
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
992
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
993 This tutorial descends from a long line of Emacs tutorials
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
994 starting with the one written by Stuart Cracraft for the original Emacs.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
995
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
996 This version of the tutorial, like GNU Emacs, is copyrighted, and
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
997 comes with permission to distribute copies on certain conditions:
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
998
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
999 Copyright (c) 1985, 1996 Free Software Foundation
13
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1000
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1001 Permission is granted to anyone to make or distribute verbatim copies
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1002 of this document as received, in any medium, provided that the
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1003 copyright notice and permission notice are preserved,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1004 and that the distributor grants the recipient permission
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1005 for further redistribution as permitted by this notice.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1006
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1007 Permission is granted to distribute modified versions
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1008 of this document, or of portions of it,
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1009 under the above conditions, provided also that they
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1010 carry prominent notices stating who last altered them.
a436ea70a0cf Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1011
16730
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
1012 The conditions for copying Emacs itself are more complex, but in the
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
1013 same spirit. Please read the file COPYING and then do give copies of
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
1014 GNU Emacs to your friends. Help stamp out software obstructionism
6cb6d2fe6999 Major cleanup of unclear or overly picturesque language.
Richard M. Stallman <rms@gnu.org>
parents: 15443
diff changeset
1015 ("ownership") by using, writing, and sharing free software!