Mercurial > emacs
annotate man/commands.texi @ 70832:11c5c394f422
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 21 May 2006 23:34:59 +0000 |
parents | 87188a1dd1d1 |
children | 9083234155ee 146cd8369025 |
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, |
68639
dc2d5a6655a3
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
68454
diff
changeset
|
3 @c 2004, 2005, 2006 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 | |
70356 | 9 commands and for the contents of files, and the fundamental concepts of |
10 @dfn{keys} and @dfn{commands}, whereby Emacs interprets your keyboard | |
11 and mouse input. | |
25829 | 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 | |
70356 | 38 Some @acronym{ASCII} control characters have special names, and most |
39 terminals have special keys you can type them with: for example, | |
40 @key{RET}, @key{TAB}, @key{DEL} and @key{ESC}. The space character is | |
41 usually known as @key{SPC}, even though strictly speaking it is a | |
42 graphic character that is blank. | |
25829 | 43 |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
44 Emacs extends the @acronym{ASCII} character set with thousands more printing |
25829 | 45 characters (@pxref{International}), additional control characters, and a |
46 few more modifiers that can be combined with any character. | |
47 | |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
48 On @acronym{ASCII} terminals, there are only 32 possible control characters. |
25829 | 49 These are the control variants of letters and @samp{@@[]\^_}. In |
50 addition, the shift key is meaningless with control characters: | |
51 @kbd{C-a} and @kbd{C-A} are the same character, and Emacs cannot | |
52 distinguish them. | |
53 | |
70356 | 54 The Emacs character set has room for control variants of all |
55 printing characters, and distinguishes @kbd{C-A} from @kbd{C-a}. | |
56 Graphical terminals make it possible to enter all these characters. | |
57 For example, @kbd{C--} (that's Control-Minus) and @kbd{C-5} are | |
58 meaningful Emacs commands on a graphical terminal. | |
25829 | 59 |
60 Another Emacs character-set extension is additional modifier bits. | |
61 Only one modifier bit is commonly used; it is called Meta. Every | |
62 character has a Meta variant; examples include @kbd{Meta-a} (normally | |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
63 written @kbd{M-a}, for short), @kbd{M-A} (different from @kbd{M-a}, |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
64 but they are normally equivalent in Emacs), @kbd{M-@key{RET}}, and |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
65 @kbd{M-C-a}. That last means @kbd{a} with both the @key{CTRL} and |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
66 @key{META} modifiers. We usually write it as @kbd{C-M-a} rather than |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
67 @kbd{M-C-a}, for reasons of tradition. |
25829 | 68 |
69 @cindex Meta | |
70 @cindex M- | |
71 @cindex @key{ESC} replacing @key{META} key | |
72 Some terminals have a @key{META} key, and allow you to type Meta | |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
73 characters by holding this key down. Thus, you can type @kbd{Meta-a} |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
74 by holding down @key{META} and pressing @kbd{a}. The @key{META} key |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
75 works much like the @key{SHIFT} key. In fact, this key is more often |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
76 labeled @key{ALT} or @key{EDIT}, instead of @key{META}; on a Sun |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
77 keyboard, it may have a diamond on it. |
25829 | 78 |
79 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
|
80 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
|
81 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
|
82 @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
|
83 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
|
84 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
|
85 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
|
86 @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
|
87 you have formed a habit of using it. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48530
diff
changeset
|
88 |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
89 Emacs defines several other modifier keys that can be applied to any |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
90 input character. These are called @key{SUPER}, @key{HYPER} and |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
91 @key{ALT}. We write @samp{s-}, @samp{H-} and @samp{A-} to say that a |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
92 character uses these modifiers. Thus, @kbd{s-H-C-x} is short for |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
93 @kbd{Super-Hyper-Control-x}. Not all graphical terminals actually |
35188
94d46968a93f
Don't say "X Windows". From Colin Walters <walters@cis.ohio-state.edu>.
Eli Zaretskii <eliz@gnu.org>
parents:
33523
diff
changeset
|
94 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
|
95 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
|
96 key bindings of Emacs do not include any characters with these |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
97 modifiers. But you can assign them meanings of your own by |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
98 customizing Emacs. |
25829 | 99 |
45876
ed33a54a268c
Document C-x @ feature.
Richard M. Stallman <rms@gnu.org>
parents:
38953
diff
changeset
|
100 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
|
101 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
|
102 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
|
103 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
|
104 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
|
105 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
|
106 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
|
107 |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
108 Keyboard input includes keyboard keys that are not characters at |
70356 | 109 all, such as function keys and arrow keys. Mouse buttons are also not |
110 characters. However, you can modify these events with the modifier | |
111 keys @key{CTRL}, @key{META}, @key{SUPER}, @key{HYPER} and @key{ALT}, | |
112 just like keyboard characters. | |
25829 | 113 |
114 @cindex input event | |
115 Input characters and non-character inputs are collectively called | |
116 @dfn{input events}. @xref{Input Events,,, elisp, The Emacs Lisp | |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
117 Reference Manual}, for the full Lisp-level details. If you are not |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
118 doing Lisp programming, but simply want to redefine the meaning of |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
119 some characters or non-character events, see @ref{Customization}. |
25829 | 120 |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
121 @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
|
122 @acronym{ASCII} characters. These terminals use a sequence of characters to |
25829 | 123 represent each function key. But that is invisible to the Emacs user, |
70356 | 124 because the keyboard input routines catch these special sequences |
25829 | 125 and convert them to function key events before any other part of Emacs |
126 gets to see them. | |
127 | |
128 @node Keys, Commands, User Input, Top | |
129 @section Keys | |
130 | |
131 @cindex key sequence | |
132 @cindex key | |
133 A @dfn{key sequence} (@dfn{key}, for short) is a sequence of input | |
70356 | 134 events that is meaningful as a unit---a ``single command.'' Some |
135 Emacs command sequences are invoked by just one character or one | |
136 event; for example, just @kbd{C-f} moves forward one character in the | |
37483
fe7da308892e
Explain how META may be labeled.
Richard M. Stallman <rms@gnu.org>
parents:
36263
diff
changeset
|
137 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
|
138 invoke. |
25829 | 139 |
140 @cindex complete key | |
141 @cindex prefix key | |
142 If a sequence of events is enough to invoke a command, it is a | |
143 @dfn{complete key}. Examples of complete keys include @kbd{C-a}, | |
144 @kbd{X}, @key{RET}, @key{NEXT} (a function key), @key{DOWN} (an arrow | |
145 key), @kbd{C-x C-f}, and @kbd{C-x 4 C-f}. If it isn't long enough to be | |
146 complete, we call it a @dfn{prefix key}. The above examples show that | |
147 @kbd{C-x} and @kbd{C-x 4} are prefix keys. Every key sequence is either | |
148 a complete key or a prefix key. | |
149 | |
150 Most single characters constitute complete keys in the standard Emacs | |
151 command bindings. A few of them are prefix keys. A prefix key combines | |
152 with the following input event to make a longer key sequence, which may | |
153 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
|
154 so @kbd{C-x} and the next input event combine to make a two-event |
25829 | 155 key sequence. Most of these key sequences are complete keys, including |
156 @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
|
157 r}, are themselves prefix keys that lead to three-event key |
25829 | 158 sequences. There's no limit to the length of a key sequence, but in |
159 practice people rarely use sequences longer than four events. | |
160 | |
70356 | 161 You can't add input events onto a complete key. For example, the |
162 two-event sequence @kbd{C-f C-k} is not a key, because the @kbd{C-f} | |
163 is a complete key in itself. It's impossible to give @kbd{C-f C-k} an | |
164 independent meaning as a command. @kbd{C-f C-k} is two key sequences, | |
165 not one.@refill | |
25829 | 166 |
167 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
|
168 @kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
169 n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
170 6}, @key{ESC}, @kbd{M-g}, and @kbd{M-o}. (@key{F1} and @key{F2} are |
70356 | 171 aliases for @kbd{C-h} and @kbd{C-x 6}.) This list is not cast in stone; |
172 it describes the standard key bindings. If you customize Emacs, you can make | |
173 new prefix keys, or eliminate some of the standard ones (not | |
174 recommended for most users). @xref{Key Bindings}. | |
25829 | 175 |
70356 | 176 If you make or eliminate prefix keys, that changes the set of |
25829 | 177 possible key sequences. For example, if you redefine @kbd{C-f} as a |
70356 | 178 prefix, @kbd{C-f C-k} automatically becomes a key (complete, unless |
179 you define that too as a prefix). Conversely, if you remove the | |
180 prefix definition of @kbd{C-x 4}, then @kbd{C-x 4 f} and @kbd{C-x 4 | |
181 @var{anything}} are no longer keys. | |
25829 | 182 |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
183 Typing the help character (@kbd{C-h} or @key{F1}) after a prefix key |
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
184 displays a list of the commands starting with that prefix. There are |
70356 | 185 a few prefix keys after which @kbd{C-h} does not work---for historical |
68454
132c4fb111bc
Minor cleanups. Refer to "graphical" terminals, rather than X.
Richard M. Stallman <rms@gnu.org>
parents:
64890
diff
changeset
|
186 reasons, they define other meanings for @kbd{C-h} which are painful to |
70356 | 187 change. @key{F1} works after all prefix keys. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48530
diff
changeset
|
188 |
25829 | 189 @node Commands, Text Characters, Keys, Top |
190 @section Keys and Commands | |
191 | |
192 @cindex binding | |
193 @cindex command | |
194 @cindex function definition | |
195 This manual is full of passages that tell you what particular keys | |
196 do. But Emacs does not assign meanings to keys directly. Instead, | |
197 Emacs assigns meanings to named @dfn{commands}, and then gives keys | |
198 their meanings by @dfn{binding} them to commands. | |
199 | |
70356 | 200 Every command has a name chosen by a programmer. The name is |
201 usually made of a few English words separated by dashes; for example, | |
25829 | 202 @code{next-line} or @code{forward-word}. A command also has a |
70356 | 203 @dfn{function definition} which is a Lisp program; this is how the |
204 command does its work. In Emacs Lisp, a command is a Lisp function with | |
205 special options to read arguments and for interactive use. For more | |
206 information on commands and functions, see @ref{What Is a Function,, | |
207 What Is a Function, elisp, The Emacs Lisp Reference Manual}. (The | |
208 definition here is simplified slightly.) | |
25829 | 209 |
70356 | 210 The bindings between keys and commands are recorded in tables called |
211 @dfn{keymaps}. @xref{Keymaps}. | |
25829 | 212 |
213 When we say that ``@kbd{C-n} moves down vertically one line'' we are | |
70356 | 214 glossing over a subtle distinction that is irrelevant in ordinary use, |
215 but vital for Emacs customization. The command @code{next-line} does | |
216 a vertical move downward. @kbd{C-n} has this effect @emph{because} it | |
217 is bound to @code{next-line}. If you rebind @kbd{C-n} to the command | |
218 @code{forward-word}, @kbd{C-n} will move forward one word instead. | |
219 Rebinding keys is an important method of customization. | |
25829 | 220 |
59523
72a78ee72ab9
(Commands): Clarification.
Richard M. Stallman <rms@gnu.org>
parents:
56810
diff
changeset
|
221 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
|
222 keep things simple. We will often speak of keys like @kbd{C-n} as |
70356 | 223 commands, even though strictly speaking the key is bound to a command. |
224 Usually we state the name of the command which really does the work in | |
225 parentheses after mentioning the key that runs it. For example, we | |
226 will say that ``The command @kbd{C-n} (@code{next-line}) moves point | |
227 vertically down,'' meaning that the command @code{next-line} moves | |
228 vertically down, and the key @kbd{C-n} is normally bound to it. | |
25829 | 229 |
70356 | 230 Since we are discussing customization, we should tell you about |
231 @dfn{variables}. Often the description of a command will say, ``To | |
232 change this, set the variable @code{mumble-foo}.'' A variable is a | |
233 name used to store a value. Most of the variables documented in this | |
234 manual are meant for customization: some command or other part of | |
235 Emacs examines the variable and behaves differently according to the | |
236 value that you set. You can ignore the information about variables | |
237 until you are interested in customizing them. Then read the basic | |
238 information on variables (@pxref{Variables}) and the information about | |
239 specific variables will make sense. | |
25829 | 240 |
241 @node Text Characters, Entering Emacs, Commands, Top | |
242 @section Character Set for Text | |
243 @cindex characters (in text) | |
244 | |
70356 | 245 Text in Emacs buffers is a sequence of characters. In the simplest |
246 case, these are @acronym{ASCII} characters, each stored in one 8-bit | |
247 byte. Both @acronym{ASCII} control characters (octal codes 000 | |
248 through 037, and 0177) and @acronym{ASCII} printing characters (codes | |
249 040 through 0176) are allowed. The other modifier flags used in | |
250 keyboard input, such as Meta, are not allowed in buffers. | |
251 | |
252 Non-@acronym{ASCII} printing characters can also appear in buffers, | |
253 when multibyte characters are enabled. They have character codes | |
254 starting at 256, octal 0400, and each one is represented as a sequence | |
255 of two or more bytes. @xref{International}. Single-byte characters | |
256 with codes 128 through 255 can also appear in multibyte buffers. | |
257 However, non-@acronym{ASCII} control characters cannot appear in a | |
258 buffer. | |
25829 | 259 |
52979
3649390c0f91
Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents:
52401
diff
changeset
|
260 Some @acronym{ASCII} control characters serve special purposes in text, and have |
25829 | 261 special names. For example, the newline character (octal code 012) is |
262 used in the buffer to end a line, and the tab character (octal code 011) | |
263 is used for indenting to the next tab stop column (normally every 8 | |
264 columns). @xref{Text Display}. | |
265 | |
266 If you disable multibyte characters, then you can use only one | |
70356 | 267 alphabet of non-@acronym{ASCII} characters, which all fit in one byte. |
268 They use octal codes 0200 through 0377. @xref{Unibyte Mode}. | |
52401 | 269 |
56810
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
270 @ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
271 @lowersections |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
272 @end ifnottex |
24bffa640391
Adapt sectioning in Info to the node structure.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52979
diff
changeset
|
273 |
52401 | 274 @ignore |
275 arch-tag: 9be43eef-d1f4-4d03-a916-c741ea713a45 | |
276 @end ignore |