Mercurial > emacs
annotate man/commands.texi @ 67066:9a9cddf82cc4
(Watch Expressions): Expand description.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Mon, 21 Nov 2005 21:44:07 +0000 |
parents | 3723093a21fd |
children | 132c4fb111bc 2d92f5c9d6ae |
rev | line source |
---|---|
25829 | 1 @c This is part of the Emacs manual. |
64890
3723093a21fd
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
61027
diff
changeset
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2002, 2003, |
3723093a21fd
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
61027
diff
changeset
|
3 @c 2004, 2005 Free Software Foundation, Inc. |
25829 | 4 @c See file emacs.texi for copying conditions. |
5 @iftex | |
6 @chapter Characters, Keys and Commands | |
7 | |
8 This chapter explains the character sets used by Emacs for input | |
9 commands and for the contents of files, and also explains the concepts | |
10 of @dfn{keys} and @dfn{commands}, which are fundamental for understanding | |
11 how Emacs interprets your keyboard and mouse input. | |
12 @end iftex | |
13 | |
56810
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
14 @ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
15 @raisesections |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
16 @end ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
17 |
25829 | 18 @node User Input, Keys, Screen, Top |
19 @section Kinds of User Input | |
20 @cindex input with the keyboard | |
21 @cindex keyboard input | |
22 @cindex character set (keyboard) | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
23 @cindex @acronym{ASCII} |
25829 | 24 @cindex C- |
25 @cindex Control | |
26 @cindex control characters | |
27 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
28 GNU Emacs uses an extension of the @acronym{ASCII} character set for keyboard |
25829 | 29 input; it also accepts non-character input events including function |
30 keys and mouse button actions. | |
31 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
32 @acronym{ASCII} consists of 128 character codes. Some of these codes are |
25829 | 33 assigned graphic symbols such as @samp{a} and @samp{=}; the rest are |
34 control characters, such as @kbd{Control-a} (usually written @kbd{C-a} | |
35 for short). @kbd{C-a} gets its name from the fact that you type it by | |
36 holding down the @key{CTRL} key while pressing @kbd{a}. | |
37 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
38 Some @acronym{ASCII} control characters have special names, and most terminals |
25829 | 39 have special keys you can type them with: for example, @key{RET}, |
40 @key{TAB}, @key{DEL} and @key{ESC}. The space character is usually | |
41 referred to below as @key{SPC}, even though strictly speaking it is a | |
42 graphic character whose graphic happens to be blank. Some keyboards | |
43 have a key labeled ``linefeed'' which is an alias for @kbd{C-j}. | |
44 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
45 Emacs extends the @acronym{ASCII} character set with thousands more printing |
25829 | 46 characters (@pxref{International}), additional control characters, and a |
47 few more modifiers that can be combined with any character. | |
48 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
49 On @acronym{ASCII} terminals, there are only 32 possible control characters. |
25829 | 50 These are the control variants of letters and @samp{@@[]\^_}. In |
51 addition, the shift key is meaningless with control characters: | |
52 @kbd{C-a} and @kbd{C-A} are the same character, and Emacs cannot | |
53 distinguish them. | |
54 | |
55 But the Emacs character set has room for control variants of all | |
56 printing characters, and for distinguishing between @kbd{C-a} and | |
35188
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
57 @kbd{C-A}. The X Window System makes it possible to enter all these |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
58 characters. For example, @kbd{C--} (that's Control-Minus) and @kbd{C-5} |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
59 are meaningful Emacs commands under X. |
25829 | 60 |
61 Another Emacs character-set extension is additional modifier bits. | |
62 Only one modifier bit is commonly used; it is called Meta. Every | |
63 character has a Meta variant; examples include @kbd{Meta-a} (normally | |
64 written @kbd{M-a}, for short), @kbd{M-A} (not the same character as | |
65 @kbd{M-a}, but those two characters normally have the same meaning in | |
66 Emacs), @kbd{M-@key{RET}}, and @kbd{M-C-a}. For reasons of tradition, | |
67 we usually write @kbd{C-M-a} rather than @kbd{M-C-a}; logically | |
68 speaking, the order in which the modifier keys @key{CTRL} and @key{META} | |
69 are mentioned does not matter. | |
70 | |
71 @cindex Meta | |
72 @cindex M- | |
73 @cindex @key{ESC} replacing @key{META} key | |
74 Some terminals have a @key{META} key, and allow you to type Meta | |
75 characters by holding this key down. Thus, @kbd{Meta-a} is typed by | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
76 holding down @key{META} and pressing @kbd{a}. The @key{META} key |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
77 works much like the @key{SHIFT} key. Such a key is not always labeled |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
78 @key{META}, however, as this function is often a special option for a |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
79 key with some other primary purpose. Sometimes it is labeled |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
80 @key{ALT} or @key{EDIT}; on a Sun keyboard, it may have a diamond on |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
81 it. |
25829 | 82 |
83 If there is no @key{META} key, you can still type Meta characters | |
48530
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
84 using two-character sequences starting with @key{ESC}. Thus, you can |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
85 enter @kbd{M-a} by typing @kbd{@key{ESC} a}. You can enter |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
86 @kbd{C-M-a} by typing @kbd{@key{ESC} C-a}. Unlike @key{META}, which |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
87 modifies other characters, @key{ESC} is a separate character. You |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
88 don't hold down @key{ESC} while typing the next character; instead, |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
89 you press it and release it, then you enter the next character. |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
90 @key{ESC} is allowed on terminals with @key{META} keys, too, in case |
4ccb542f41ef
Explain how ESC is different from META.
Richard M. Stallman <rms@gnu.org>
parents:
45876
diff
changeset
|
91 you have formed a habit of using it. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48530
diff
changeset
|
92 |
35188
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
93 The X Window System provides several other modifier keys that can be |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
94 applied to any input character. These are called @key{SUPER}, |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
95 @key{HYPER} and @key{ALT}. We write @samp{s-}, @samp{H-} and @samp{A-} |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
96 to say that a character uses these modifiers. Thus, @kbd{s-H-C-x} is |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
97 short for @kbd{Super-Hyper-Control-x}. Not all X terminals actually |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
98 provide keys for these modifier flags---in fact, many terminals have a |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
99 key labeled @key{ALT} which is really a @key{META} key. The standard |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
100 key bindings of Emacs do not include any characters with these |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
101 modifiers. But you can assign them meanings of your own by customizing |
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
102 Emacs. |
25829 | 103 |
45876
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
104 If your keyboard lacks one of these modifier keys, you can enter it |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
105 using @kbd{C-x @@}: @kbd{C-x @@ h} adds the ``hyper'' flag to the next |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
106 character, @kbd{C-x @@ s} adds the ``super'' flag, and @kbd{C-x @@ a} |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
107 adds the ``alt'' flag. For instance, @kbd{C-x @@ h C-a} is a way to |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
108 enter @kbd{Hyper-Control-a}. (Unfortunately there is no way to add |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
109 two modifiers by using @kbd{C-x @@} twice for the same character, |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
110 because the first one goes to work on the @kbd{C-x}.) |
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
111 |
25829 | 112 Keyboard input includes keyboard keys that are not characters at all: |
113 for example function keys and arrow keys. Mouse buttons are also | |
114 outside the gamut of characters. You can modify these events with the | |
115 modifier keys @key{CTRL}, @key{META}, @key{SUPER}, @key{HYPER} and | |
116 @key{ALT}, just like keyboard characters. | |
117 | |
118 @cindex input event | |
119 Input characters and non-character inputs are collectively called | |
120 @dfn{input events}. @xref{Input Events,,, elisp, The Emacs Lisp | |
121 Reference Manual}, for more information. If you are not doing Lisp | |
122 programming, but simply want to redefine the meaning of some characters | |
123 or non-character events, see @ref{Customization}. | |
124 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
125 @acronym{ASCII} terminals cannot really send anything to the computer except |
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
126 @acronym{ASCII} characters. These terminals use a sequence of characters to |
25829 | 127 represent each function key. But that is invisible to the Emacs user, |
128 because the keyboard input routines recognize these special sequences | |
129 and convert them to function key events before any other part of Emacs | |
130 gets to see them. | |
131 | |
132 @node Keys, Commands, User Input, Top | |
133 @section Keys | |
134 | |
135 @cindex key sequence | |
136 @cindex key | |
137 A @dfn{key sequence} (@dfn{key}, for short) is a sequence of input | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
138 events that are meaningful as a unit---as ``a single command.'' Some |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
139 Emacs command sequences are just one character or one event; for |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
140 example, just @kbd{C-f} is enough to move forward one character in the |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
141 buffer. But Emacs also has commands that take two or more events to |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
142 invoke. |
25829 | 143 |
144 @cindex complete key | |
145 @cindex prefix key | |
146 If a sequence of events is enough to invoke a command, it is a | |
147 @dfn{complete key}. Examples of complete keys include @kbd{C-a}, | |
148 @kbd{X}, @key{RET}, @key{NEXT} (a function key), @key{DOWN} (an arrow | |
149 key), @kbd{C-x C-f}, and @kbd{C-x 4 C-f}. If it isn't long enough to be | |
150 complete, we call it a @dfn{prefix key}. The above examples show that | |
151 @kbd{C-x} and @kbd{C-x 4} are prefix keys. Every key sequence is either | |
152 a complete key or a prefix key. | |
153 | |
154 Most single characters constitute complete keys in the standard Emacs | |
155 command bindings. A few of them are prefix keys. A prefix key combines | |
156 with the following input event to make a longer key sequence, which may | |
157 itself be complete or a prefix. For example, @kbd{C-x} is a prefix key, | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
158 so @kbd{C-x} and the next input event combine to make a two-event |
25829 | 159 key sequence. Most of these key sequences are complete keys, including |
160 @kbd{C-x C-f} and @kbd{C-x b}. A few, such as @kbd{C-x 4} and @kbd{C-x | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
161 r}, are themselves prefix keys that lead to three-event key |
25829 | 162 sequences. There's no limit to the length of a key sequence, but in |
163 practice people rarely use sequences longer than four events. | |
164 | |
165 By contrast, you can't add more events onto a complete key. For | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
166 example, the two-event sequence @kbd{C-f C-k} is not a key, because |
25829 | 167 the @kbd{C-f} is a complete key in itself. It's impossible to give |
168 @kbd{C-f C-k} an independent meaning as a command. @kbd{C-f C-k} is two | |
169 key sequences, not one.@refill | |
170 | |
171 All told, the prefix keys in Emacs are @kbd{C-c}, @kbd{C-h}, | |
60422
95f4549c0b71
(Keys): Mention F1 and F2 in list of prefixes.
Richard M. Stallman <rms@gnu.org>
parents:
59523
diff
changeset
|
172 @kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x |
61027
0ba852c9cea6
(Keys): M-o is now a prefix key.
Luc Teirlinck <teirllm@auburn.edu>
parents:
60422
diff
changeset
|
173 n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x 6}, |
0ba852c9cea6
(Keys): M-o is now a prefix key.
Luc Teirlinck <teirllm@auburn.edu>
parents:
60422
diff
changeset
|
174 @key{ESC}, @kbd{M-o} and @kbd{M-g}. (@key{F1} and @key{F2} are aliases for |
60422
95f4549c0b71
(Keys): Mention F1 and F2 in list of prefixes.
Richard M. Stallman <rms@gnu.org>
parents:
59523
diff
changeset
|
175 @kbd{C-h} and @kbd{C-x 6}.) But this list is not cast in concrete; it |
95f4549c0b71
(Keys): Mention F1 and F2 in list of prefixes.
Richard M. Stallman <rms@gnu.org>
parents:
59523
diff
changeset
|
176 is just a matter of Emacs's standard key bindings. If you customize |
95f4549c0b71
(Keys): Mention F1 and F2 in list of prefixes.
Richard M. Stallman <rms@gnu.org>
parents:
59523
diff
changeset
|
177 Emacs, you can make new prefix keys, or eliminate these. @xref{Key |
95f4549c0b71
(Keys): Mention F1 and F2 in list of prefixes.
Richard M. Stallman <rms@gnu.org>
parents:
59523
diff
changeset
|
178 Bindings}. |
25829 | 179 |
180 If you do make or eliminate prefix keys, that changes the set of | |
181 possible key sequences. For example, if you redefine @kbd{C-f} as a | |
182 prefix, @kbd{C-f C-k} automatically becomes a key (complete, unless you | |
38953 | 183 define that too as a prefix). Conversely, if you remove the prefix |
25829 | 184 definition of @kbd{C-x 4}, then @kbd{C-x 4 f} (or @kbd{C-x 4 |
185 @var{anything}}) is no longer a key. | |
186 | |
187 Typing the help character (@kbd{C-h} or @key{F1}) after a prefix | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
188 key displays a list of the commands starting with that prefix. |
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
189 There are a few prefix keys for which @kbd{C-h} does not |
25829 | 190 work---for historical reasons, they have other meanings for @kbd{C-h} |
191 which are not easy to change. But @key{F1} should work for all prefix | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
192 keys. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48530
diff
changeset
|
193 |
25829 | 194 @node Commands, Text Characters, Keys, Top |
195 @section Keys and Commands | |
196 | |
197 @cindex binding | |
198 @cindex command | |
199 @cindex function definition | |
200 This manual is full of passages that tell you what particular keys | |
201 do. But Emacs does not assign meanings to keys directly. Instead, | |
202 Emacs assigns meanings to named @dfn{commands}, and then gives keys | |
203 their meanings by @dfn{binding} them to commands. | |
204 | |
205 Every command has a name chosen by a programmer. The name is usually | |
206 made of a few English words separated by dashes; for example, | |
207 @code{next-line} or @code{forward-word}. A command also has a | |
208 @dfn{function definition} which is a Lisp program; this is what makes | |
209 the command do what it does. In Emacs Lisp, a command is actually a | |
210 special kind of Lisp function; one which specifies how to read arguments | |
211 for it and call it interactively. For more information on commands and | |
212 functions, see @ref{What Is a Function,, What Is a Function, elisp, The | |
213 Emacs Lisp Reference Manual}. (The definition we use in this manual is | |
214 simplified slightly.) | |
215 | |
216 The bindings between keys and commands are recorded in various tables | |
217 called @dfn{keymaps}. @xref{Keymaps}. | |
218 | |
219 When we say that ``@kbd{C-n} moves down vertically one line'' we are | |
220 glossing over a distinction that is irrelevant in ordinary use but is vital | |
221 in understanding how to customize Emacs. It is the command | |
222 @code{next-line} that is programmed to move down vertically. @kbd{C-n} has | |
223 this effect @emph{because} it is bound to that command. If you rebind | |
224 @kbd{C-n} to the command @code{forward-word} then @kbd{C-n} will move | |
225 forward by words instead. Rebinding keys is a common method of | |
226 customization.@refill | |
227 | |
59523
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
228 In the rest of this manual, we usually ignore this distinction to |
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
229 keep things simple. We will often speak of keys like @kbd{C-n} as |
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
230 commands, even though strictly speaking a key is bound to some |
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
231 command. To give the information needed for customization, we state |
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
232 the name of the command which really does the work in parentheses |
25829 | 233 after mentioning the key that runs it. For example, we will say that |
234 ``The command @kbd{C-n} (@code{next-line}) moves point vertically | |
59523
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
235 down,'' meaning that @code{next-line} is a command that moves |
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
236 vertically down, and @kbd{C-n} is a key that is normally bound to it. |
25829 | 237 |
238 While we are on the subject of information for customization only, | |
239 it's a good time to tell you about @dfn{variables}. Often the | |
240 description of a command will say, ``To change this, set the variable | |
241 @code{mumble-foo}.'' A variable is a name used to remember a value. | |
242 Most of the variables documented in this manual exist just to facilitate | |
243 customization: some command or other part of Emacs examines the variable | |
244 and behaves differently according to the value that you set. Until you | |
245 are interested in customizing, you can ignore the information about | |
246 variables. When you are ready to be interested, read the basic | |
247 information on variables, and then the information on individual | |
248 variables will make sense. @xref{Variables}. | |
249 | |
250 @node Text Characters, Entering Emacs, Commands, Top | |
251 @section Character Set for Text | |
252 @cindex characters (in text) | |
253 | |
254 Text in Emacs buffers is a sequence of 8-bit bytes. Each byte can | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
255 hold a single @acronym{ASCII} character. Both @acronym{ASCII} control characters (octal |
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
256 codes 000 through 037, and 0177) and @acronym{ASCII} printing characters (codes |
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
257 040 through 0176) are allowed; however, non-@acronym{ASCII} control characters |
25829 | 258 cannot appear in a buffer. The other modifier flags used in keyboard |
259 input, such as Meta, are not allowed in buffers either. | |
260 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
261 Some @acronym{ASCII} control characters serve special purposes in text, and have |
25829 | 262 special names. For example, the newline character (octal code 012) is |
263 used in the buffer to end a line, and the tab character (octal code 011) | |
264 is used for indenting to the next tab stop column (normally every 8 | |
265 columns). @xref{Text Display}. | |
266 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
267 Non-@acronym{ASCII} printing characters can also appear in buffers. When |
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
268 multibyte characters are enabled, you can use any of the non-@acronym{ASCII} |
25829 | 269 printing characters that Emacs supports. They have character codes |
270 starting at 256, octal 0400, and each one is represented as a sequence | |
36147
90084231ad3e
Minor change in wording.
Richard M. Stallman <rms@gnu.org>
parents:
35188
diff
changeset
|
271 of two or more bytes. @xref{International}. Single-byte characters |
90084231ad3e
Minor change in wording.
Richard M. Stallman <rms@gnu.org>
parents:
35188
diff
changeset
|
272 with codes 128 through 255 can also appear in multibyte buffers. |
25829 | 273 |
274 If you disable multibyte characters, then you can use only one | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
275 alphabet of non-@acronym{ASCII} characters, but they all fit in one byte. They |
27219 | 276 use codes 0200 through 0377. @xref{Single-Byte Character Support}. |
52401 | 277 |
56810
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
278 @ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
279 @lowersections |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
280 @end ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
281 |
52401 | 282 @ignore |
283 arch-tag: 9be43eef-d1f4-4d03-a916-c741ea713a45 | |
284 @end ignore |