Mercurial > emacs
annotate man/screen.texi @ 40811:c9f5f8f1bce6
Fix to pacify makeinfo.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Wed, 07 Nov 2001 19:02:54 +0000 |
parents | 3b40423b9355 |
children | d91a628dadfe |
rev | line source |
---|---|
25829 | 1 @c This is part of the Emacs manual. |
39287 | 2 @c Copyright (C) 1985,86,87,93,94,95,1997,2001 Free Software Foundation, Inc. |
25829 | 3 @c See file emacs.texi for copying conditions. |
4 @node Screen, User Input, Acknowledgments, Top | |
5 @chapter The Organization of the Screen | |
6 @cindex screen | |
7 @cindex parts of the screen | |
8 @c | |
9 | |
10 On a text-only terminal, the Emacs display occupies the whole screen. | |
11 On the X Window System, Emacs creates its own X windows to use. We use | |
12 the term @dfn{frame} to mean an entire text-only screen or an entire X | |
13 window used by Emacs. Emacs uses both kinds of frames in the same way | |
14 to display your editing. Emacs normally starts out with just one frame, | |
15 but you can create additional frames if you wish. @xref{Frames}. | |
16 | |
37350
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
17 When you start Emacs, the entire frame except for the top and bottom |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
18 is devoted to the text you are editing. This area is called the |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
19 @dfn{window}. At the top there is normally a @dfn{menu bar} where you |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
20 can access a series of menus; then there may be a @dfn{tool bar}, a |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
21 row of icons that perform editing commands if you click on them. |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
22 Below this, the window begins. The last line is a special @dfn{echo |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
23 area} or @dfn{minibuffer window}, where prompts appear and where you |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
24 can enter information when Emacs asks for it. See below for more |
25829 | 25 information about these special lines. |
26 | |
27 You can subdivide the large text window horizontally or vertically | |
28 into multiple text windows, each of which can be used for a different | |
29 file (@pxref{Windows}). In this manual, the word ``window'' always | |
30 refers to the subdivisions of a frame within Emacs. | |
31 | |
32 The window that the cursor is in is the @dfn{selected window}, in | |
33 which editing takes place. Most Emacs commands implicitly apply to the | |
34 text in the selected window (though mouse commands generally operate on | |
35 whatever window you click them in, whether selected or not). The other | |
36 windows display text for reference only, unless/until you select them. | |
37 If you use multiple frames under the X Window System, then giving the | |
38 input focus to a particular frame selects a window in that frame. | |
39 | |
37350
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
40 Each window's last line is a @dfn{mode line}, which describes what |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
41 is going on in that window. It appears in inverse video, if the |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
42 terminal supports that; its contents normally begin with |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
43 @w{@samp{--:-- @ *scratch*}} when Emacs starts. The mode line |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
44 displays status information such as what buffer is being displayed |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
45 above it in the window, what major and minor modes are in use, and |
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
46 whether the buffer contains unsaved changes. |
25829 | 47 |
48 @menu | |
49 * Point:: The place in the text where editing commands operate. | |
50 * Echo Area:: Short messages appear at the bottom of the screen. | |
51 * Mode Line:: Interpreting the mode line. | |
52 * Menu Bar:: How to use the menu bar. | |
53 @end menu | |
54 | |
55 @node Point | |
56 @section Point | |
57 @cindex point | |
58 @cindex cursor | |
59 | |
60 Within Emacs, the terminal's cursor shows the location at which | |
61 editing commands will take effect. This location is called @dfn{point}. | |
62 Many Emacs commands move point through the text, so that you can edit at | |
63 different places in it. You can also place point by clicking mouse | |
64 button 1. | |
65 | |
66 While the cursor appears to point @emph{at} a character, you should | |
67 think of point as @emph{between} two characters; it points @emph{before} | |
68 the character that appears under the cursor. For example, if your text | |
69 looks like @samp{frob} with the cursor over the @samp{b}, then point is | |
70 between the @samp{o} and the @samp{b}. If you insert the character | |
71 @samp{!} at that position, the result is @samp{fro!b}, with point | |
72 between the @samp{!} and the @samp{b}. Thus, the cursor remains over | |
73 the @samp{b}, as before. | |
74 | |
75 Sometimes people speak of ``the cursor'' when they mean ``point,'' or | |
76 speak of commands that move point as ``cursor motion'' commands. | |
77 | |
39164
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
78 Text-only terminals have only one cursor, and when output is in |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
79 progress it must appear where the output is being displayed. This |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
80 does not mean that point is moving. It is only that Emacs has no way |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
81 to show you the location of point except when the terminal is idle. |
25829 | 82 |
83 If you are editing several files in Emacs, each in its own buffer, | |
84 each buffer has its own point location. A buffer that is not currently | |
85 displayed remembers where point is in case you display it again later. | |
86 | |
39164
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
87 When Emacs displays multiple windows, each window has its own point |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
88 location. On text-only terminals, the cursor shows the location of |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
89 point in the selected window. On graphical terminals, Emacs shows a |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
90 cursor in each window; the selected window's cursor is solid, and the |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
91 other cursors are hollow. Either way, the cursor or cursors tell you |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
92 which window is selected. If the same buffer appears in more than one |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
93 window, each window has its own position for point in that buffer, and |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
94 (when possible) its own cursor. |
25829 | 95 |
39164
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
96 @xref{Cursor Display}, for customization options that control display |
ecf35d2638f4
Explain about multiple cursors.
Richard M. Stallman <rms@gnu.org>
parents:
38870
diff
changeset
|
97 of the cursor or cursors. |
25829 | 98 |
36185 | 99 The term ``point'' comes from the character @samp{.}, which was the |
25829 | 100 command in TECO (the language in which the original Emacs was written) |
36185 | 101 for accessing the value now called ``point.'' |
25829 | 102 |
103 @node Echo Area | |
104 @section The Echo Area | |
105 @cindex echo area | |
106 @c | |
107 | |
108 The line at the bottom of the frame (below the mode line) is the | |
109 @dfn{echo area}. It is used to display small amounts of text for | |
110 several purposes. | |
111 | |
112 @dfn{Echoing} means displaying the characters that you type. Outside | |
113 Emacs, the operating system normally echoes all your input. Emacs | |
114 handles echoing differently. | |
115 | |
116 Single-character commands do not echo in Emacs, and multi-character | |
117 commands echo only if you pause while typing them. As soon as you pause | |
118 for more than a second in the middle of a command, Emacs echoes all the | |
119 characters of the command so far. This is to @dfn{prompt} you for the | |
120 rest of the command. Once echoing has started, the rest of the command | |
121 echoes immediately as you type it. This behavior is designed to give | |
122 confident users fast response, while giving hesitant users maximum | |
123 feedback. You can change this behavior by setting a variable | |
36209
e80f51792a09
Fix xref to Display Custom.
Richard M. Stallman <rms@gnu.org>
parents:
36185
diff
changeset
|
124 (@pxref{Display Custom}). |
25829 | 125 |
126 @cindex error message in the echo area | |
38870
d44abb4e68b2
Don't use "print" for displaying a message.
Richard M. Stallman <rms@gnu.org>
parents:
38128
diff
changeset
|
127 If a command cannot be executed, it may display an @dfn{error message} |
38128 | 128 in the echo area. Error messages are accompanied by beeping or by |
129 flashing the screen. The error also discards any input you have typed | |
130 ahead. | |
25829 | 131 |
38870
d44abb4e68b2
Don't use "print" for displaying a message.
Richard M. Stallman <rms@gnu.org>
parents:
38128
diff
changeset
|
132 Some commands display informative messages in the echo area. These |
25829 | 133 messages look much like error messages, but they are not announced with |
134 a beep and do not throw away input. Sometimes the message tells you | |
135 what the command has done, when this is not obvious from looking at the | |
38870
d44abb4e68b2
Don't use "print" for displaying a message.
Richard M. Stallman <rms@gnu.org>
parents:
38128
diff
changeset
|
136 text being edited. Sometimes the sole purpose of a command is to show |
d44abb4e68b2
Don't use "print" for displaying a message.
Richard M. Stallman <rms@gnu.org>
parents:
38128
diff
changeset
|
137 you a message giving you specific information---for example, @kbd{C-x =} |
d44abb4e68b2
Don't use "print" for displaying a message.
Richard M. Stallman <rms@gnu.org>
parents:
38128
diff
changeset
|
138 displays a message describing the character position of point in the text |
25829 | 139 and its current column in the window. Commands that take a long time |
140 often display messages ending in @samp{...} while they are working, and | |
141 add @samp{done} at the end when they are finished. | |
142 | |
143 @cindex @samp{*Messages*} buffer | |
144 @cindex saved echo area messages | |
145 @cindex messages saved from echo area | |
146 Echo-area informative messages are saved in an editor buffer named | |
147 @samp{*Messages*}. (We have not explained buffers yet; see | |
148 @ref{Buffers}, for more information about them.) If you miss a message | |
149 that appears briefly on the screen, you can switch to the | |
150 @samp{*Messages*} buffer to see it again. (Successive progress messages | |
151 are often collapsed into one in that buffer.) | |
152 | |
153 @vindex message-log-max | |
154 The size of @samp{*Messages*} is limited to a certain number of lines. | |
155 The variable @code{message-log-max} specifies how many lines. Once the | |
156 buffer has that many lines, each line added at the end deletes one line | |
157 from the beginning. @xref{Variables}, for how to set variables such as | |
158 @code{message-log-max}. | |
159 | |
160 The echo area is also used to display the @dfn{minibuffer}, a window that | |
161 is used for reading arguments to commands, such as the name of a file to be | |
162 edited. When the minibuffer is in use, the echo area begins with a prompt | |
163 string that usually ends with a colon; also, the cursor appears in that line | |
164 because it is the selected window. You can always get out of the | |
165 minibuffer by typing @kbd{C-g}. @xref{Minibuffer}. | |
166 | |
167 @node Mode Line | |
168 @section The Mode Line | |
169 @cindex mode line | |
170 @cindex top level | |
171 @c | |
172 | |
36174
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
173 Each text window's last line is a @dfn{mode line}, which describes |
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
174 what is going on in that window. When there is only one text window, |
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
175 the mode line appears right above the echo area; it is the |
37350
401a53e249b5
Mention the tool bar. Clarify what the mode line looks like.
Richard M. Stallman <rms@gnu.org>
parents:
36209
diff
changeset
|
176 next-to-last line in the frame. The mode line starts and ends with |
36174
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
177 dashes. On a text-mode display, the mode line is in inverse video if |
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
178 the terminal supports that; on a graphics display, the mode line has a |
39268 | 179 3D box appearance to help it stand out. |
25829 | 180 |
181 Normally, the mode line looks like this: | |
182 | |
183 @example | |
184 -@var{cs}:@var{ch} @var{buf} (@var{major} @var{minor})--@var{line}--@var{pos}------ | |
185 @end example | |
186 | |
187 @noindent | |
188 This gives information about the buffer being displayed in the window: the | |
189 buffer's name, what major and minor modes are in use, whether the buffer's | |
190 text has been changed, and how far down the buffer you are currently | |
191 looking. | |
192 | |
193 @var{ch} contains two stars @samp{**} if the text in the buffer has | |
194 been edited (the buffer is ``modified''), or @samp{--} if the buffer has | |
195 not been edited. For a read-only buffer, it is @samp{%*} if the buffer | |
196 is modified, and @samp{%%} otherwise. | |
197 | |
198 @var{buf} is the name of the window's @dfn{buffer}. In most cases | |
199 this is the same as the name of a file you are editing. @xref{Buffers}. | |
200 | |
201 The buffer displayed in the selected window (the window that the | |
37986
e11682cc1516
selected buffer => current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37350
diff
changeset
|
202 cursor is in) is also Emacs's current buffer, the one that editing |
25829 | 203 takes place in. When we speak of what some command does to ``the |
37986
e11682cc1516
selected buffer => current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37350
diff
changeset
|
204 buffer,'' we are talking about the current buffer. |
25829 | 205 |
206 @var{line} is @samp{L} followed by the current line number of point. | |
207 This is present when Line Number mode is enabled (which it normally is). | |
208 You can optionally display the current column number too, by turning on | |
209 Column Number mode (which is not enabled by default because it is | |
210 somewhat slower). @xref{Optional Mode Line}. | |
211 | |
212 @var{pos} tells you whether there is additional text above the top of | |
213 the window, or below the bottom. If your buffer is small and it is all | |
214 visible in the window, @var{pos} is @samp{All}. Otherwise, it is | |
215 @samp{Top} if you are looking at the beginning of the buffer, @samp{Bot} | |
216 if you are looking at the end of the buffer, or @samp{@var{nn}%}, where | |
217 @var{nn} is the percentage of the buffer above the top of the | |
218 window.@refill | |
219 | |
220 @var{major} is the name of the @dfn{major mode} in effect in the | |
221 buffer. At any time, each buffer is in one and only one of the possible | |
222 major modes. The major modes available include Fundamental mode (the | |
223 least specialized), Text mode, Lisp mode, C mode, Texinfo mode, and many | |
224 others. @xref{Major Modes}, for details of how the modes differ and how | |
225 to select one.@refill | |
226 | |
227 Some major modes display additional information after the major mode | |
228 name. For example, Rmail buffers display the current message number and | |
229 the total number of messages. Compilation buffers and Shell buffers | |
230 display the status of the subprocess. | |
231 | |
232 @var{minor} is a list of some of the @dfn{minor modes} that are turned | |
233 on at the moment in the window's chosen buffer. For example, | |
234 @samp{Fill} means that Auto Fill mode is on. @samp{Abbrev} means that | |
235 Word Abbrev mode is on. @samp{Ovwrt} means that Overwrite mode is on. | |
236 @xref{Minor Modes}, for more information. @samp{Narrow} means that the | |
237 buffer being displayed has editing restricted to only a portion of its | |
238 text. This is not really a minor mode, but is like one. | |
239 @xref{Narrowing}. @samp{Def} means that a keyboard macro is being | |
240 defined. @xref{Keyboard Macros}. | |
241 | |
242 In addition, if Emacs is currently inside a recursive editing level, | |
243 square brackets (@samp{[@dots{}]}) appear around the parentheses that | |
244 surround the modes. If Emacs is in one recursive editing level within | |
245 another, double square brackets appear, and so on. Since recursive | |
246 editing levels affect Emacs globally, not just one buffer, the square | |
247 brackets appear in every window's mode line or not in any of them. | |
248 @xref{Recursive Edit}.@refill | |
249 | |
250 Non-windowing terminals can only show a single Emacs frame at a time | |
251 (@pxref{Frames}). On such terminals, the mode line displays the name of | |
252 the selected frame, after @var{ch}. The initial frame's name is | |
253 @samp{F1}. | |
254 | |
255 @var{cs} states the coding system used for the file you are editing. | |
256 A dash indicates the default state of affairs: no code conversion, | |
257 except for end-of-line translation if the file contents call for that. | |
258 @samp{=} means no conversion whatsoever. Nontrivial code conversions | |
259 are represented by various letters---for example, @samp{1} refers to ISO | |
260 Latin-1. @xref{Coding Systems}, for more information. If you are using | |
261 an input method, a string of the form @samp{@var{i}>} is added to the | |
262 beginning of @var{cs}; @var{i} identifies the input method. (Some input | |
263 methods show @samp{+} or @samp{@@} instead of @samp{>}.) @xref{Input | |
264 Methods}. | |
265 | |
266 When you are using a character-only terminal (not a window system), | |
267 @var{cs} uses three characters to describe, respectively, the coding | |
268 system for keyboard input, the coding system for terminal output, and | |
269 the coding system used for the file you are editing. | |
270 | |
271 When multibyte characters are not enabled, @var{cs} does not appear at | |
272 all. @xref{Enabling Multibyte}. | |
273 | |
274 @cindex end-of-line conversion, mode-line indication | |
275 The colon after @var{cs} can change to another string in certain | |
30866 | 276 circumstances. Emacs uses newline characters to separate lines in the buffer. |
25829 | 277 Some files use different conventions for separating lines: either |
278 carriage-return linefeed (the MS-DOS convention) or just carriage-return | |
279 (the Macintosh convention). If the buffer's file uses carriage-return | |
280 linefeed, the colon changes to either a backslash (@samp{\}) or | |
281 @samp{(DOS)}, depending on the operating system. If the file uses just | |
282 carriage-return, the colon indicator changes to either a forward slash | |
283 (@samp{/}) or @samp{(Mac)}. On some systems, Emacs displays | |
284 @samp{(Unix)} instead of the colon even for files that use newline to | |
285 separate lines. | |
286 | |
287 @vindex eol-mnemonic-unix | |
288 @vindex eol-mnemonic-dos | |
289 @vindex eol-mnemonic-mac | |
290 @vindex eol-mnemonic-undecided | |
291 You can customize the mode line display for each of the end-of-line | |
292 formats by setting each of the variables @code{eol-mnemonic-unix}, | |
293 @code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and | |
294 @code{eol-mnemonic-undecided} to any string you find appropriate. | |
38128 | 295 @xref{Variables}, for an explanation of how to set variables. |
25829 | 296 |
297 @xref{Optional Mode Line}, for features that add other handy | |
298 information to the mode line, such as the current column number of | |
299 point, the current time, and whether new mail for you has arrived. | |
300 | |
36174
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
301 The mode line is mouse-sensitive; when you move the mouse across |
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
302 various parts of it, Emacs displays help text to say what a click in |
19101dffc5c1
Don't say that the mode line is taller, because we are fixing that.
Richard M. Stallman <rms@gnu.org>
parents:
35434
diff
changeset
|
303 that place will do. @xref{Mode Line Mouse}. |
30866 | 304 |
25829 | 305 @node Menu Bar |
306 @section The Menu Bar | |
307 @cindex menu bar | |
308 | |
309 Each Emacs frame normally has a @dfn{menu bar} at the top which you | |
310 can use to perform certain common operations. There's no need to list | |
311 them here, as you can more easily see for yourself. | |
312 | |
313 @kindex M-` | |
314 @kindex F10 | |
315 @findex tmm-menubar | |
316 When you are using a window system, you can use the mouse to choose a | |
317 command from the menu bar. An arrow pointing right, after the menu | |
318 item, indicates that the item leads to a subsidiary menu; @samp{...} at | |
319 the end means that the command will read arguments from the keyboard | |
320 before it actually does anything. | |
321 | |
322 To view the full command name and documentation for a menu item, type | |
323 @kbd{C-h k}, and then select the menu bar with the mouse in the usual | |
324 way (@pxref{Key Help}). | |
325 | |
326 On text-only terminals with no mouse, you can use the menu bar by | |
327 typing @kbd{M-`} or @key{F10} (these run the command | |
328 @code{tmm-menubar}). This command enters a mode in which you can select | |
329 a menu item from the keyboard. A provisional choice appears in the echo | |
330 area. You can use the left and right arrow keys to move through the | |
331 menu to different choices. When you have found the choice you want, | |
332 type @key{RET} to select it. | |
333 | |
334 Each menu item also has an assigned letter or digit which designates | |
335 that item; it is usually the initial of some word in the item's name. | |
336 This letter or digit is separated from the item name by @samp{=>}. You | |
337 can type the item's letter or digit to select the item. | |
338 | |
339 Some of the commands in the menu bar have ordinary key bindings as | |
340 well; if so, the menu lists one equivalent key binding in parentheses | |
341 after the item itself. |