diff options
| author | Chong Yidong | 2008-07-13 20:37:02 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-07-13 20:37:02 +0000 |
| commit | af07efeb04416e82f610e640d0e497b057f34b9a (patch) | |
| tree | 811f84a77fe19180ca7f6c5ef3909b0d118d5b7c | |
| parent | 332b5b9acd6384f534d9985069e58df63c71886e (diff) | |
| download | emacs-af07efeb04416e82f610e640d0e497b057f34b9a.tar.gz emacs-af07efeb04416e82f610e640d0e497b057f34b9a.zip | |
(Screen): Copyedit. Define "buffer" and "current buffer" early on.
(Point): Copyedit. Relegate historical trivia to a footnote.
(Mode Line): Explain mode-line format more consistently.
(Menu Bar): Copyedit.
| -rw-r--r-- | doc/emacs/screen.texi | 410 |
1 files changed, 188 insertions, 222 deletions
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 9488a01acfc..e82c66af404 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi | |||
| @@ -7,52 +7,50 @@ | |||
| 7 | @cindex screen | 7 | @cindex screen |
| 8 | @cindex parts of the screen | 8 | @cindex parts of the screen |
| 9 | 9 | ||
| 10 | On a text-only terminal, the Emacs display occupies the whole | 10 | On a text-only terminal, the Emacs display occupies the entire |
| 11 | screen. On a graphical display, such as on GNU/Linux using the X | 11 | terminal screen. On a graphical display, such as on GNU/Linux using |
| 12 | Window System, Emacs creates its own windows to use. We use the term | 12 | the X Window System, Emacs creates its own windows to use. We use the |
| 13 | @dfn{frame} to mean the entire text-only screen or an entire | 13 | term @dfn{frame} to mean the entire terminal screen or graphical |
| 14 | system-level window used by Emacs. Emacs uses both kinds of frames, | 14 | window used by Emacs. Emacs uses both kinds of frames, in the same |
| 15 | in the same way, to display your editing. Emacs normally starts out | 15 | way, to display your editing. Emacs normally starts out with just one |
| 16 | with just one frame, but you can create additional frames if you wish. | 16 | frame, but you can create additional frames if you wish |
| 17 | @xref{Frames}. | 17 | (@pxref{Frames}). |
| 18 | 18 | ||
| 19 | When you start Emacs, the main central area of the frame, all except | 19 | The frame consists of several distinct regions. At the top of the |
| 20 | for the top and bottom and sides, displays the text you are editing. | 20 | frame is a @dfn{menu bar}, which allows you to access commands via a |
| 21 | This area is called @dfn{the window}. At the top there is normally a | 21 | series of menus. On a graphical display, directly below the menu bar |
| 22 | @dfn{menu bar} where you can access a series of menus; then there may | 22 | is a @dfn{tool bar}, a row of icons that perform editing commands if |
| 23 | be a @dfn{tool bar}, a row of icons that perform editing commands if | 23 | you click on them. At the very bottom of the frame is a special |
| 24 | you click on them. Below this, the window begins, often with a | 24 | @dfn{echo area}, where short informative messages are displayed and |
| 25 | @dfn{scroll bar} on one side. Below the window comes the last line of | 25 | where you enter information when Emacs asks for it. |
| 26 | the frame, a special @dfn{echo area} or @dfn{minibuffer window}, where | 26 | |
| 27 | prompts appear and you enter information when Emacs asks for it. See | 27 | The main area of the frame, below the tool bar (if one exists) and |
| 28 | following sections for more information about these special lines. | 28 | above the echo area, is called @dfn{the window}. This is where Emacs |
| 29 | 29 | displays the @dfn{buffer}: the text that you are editing. On a | |
| 30 | You can subdivide the window horizontally or vertically to make | 30 | graphical display, the window possesses a @dfn{scroll bar} on one |
| 31 | multiple text windows, each of which can independently display some | 31 | side, which you can use to display different parts of the buffer in |
| 32 | file or text (@pxref{Windows}). In this manual, the word ``window'' | 32 | the window. The last line of the window is a @dfn{mode line}. This |
| 33 | refers to the initial large window if not subdivided, or any one of | 33 | displays various information about what is going on in the buffer, |
| 34 | the multiple windows you have subdivided it into. | 34 | such as whether there are unsaved changes, the editing modes that are |
| 35 | in use, the current line number, and so forth. | ||
| 36 | |||
| 37 | When you start Emacs, there is normally only one window in the | ||
| 38 | frame. However, you can subdivide this window horizontally or | ||
| 39 | vertically to create multiple windows, each of which can independently | ||
| 40 | display a buffer (@pxref{Windows}). In this manual, the word | ||
| 41 | ``window'' refers to the initial large window if not subdivided, or | ||
| 42 | any one of the multiple windows you have subdivided it into. | ||
| 35 | 43 | ||
| 36 | At any time, one window is the @dfn{selected window}. On graphical | 44 | At any time, one window is the @dfn{selected window}. On graphical |
| 37 | displays, the selected window normally shows a more prominent cursor | 45 | displays, the selected window normally shows a more prominent cursor |
| 38 | (usually solid and blinking) while other windows show a weaker cursor | 46 | (usually solid and blinking) while other windows show a weaker cursor |
| 39 | (such as a hollow box). Text terminals have just one cursor, so it | 47 | (such as a hollow box). Text terminals have just one cursor, so it |
| 40 | always appears in the selected window. | 48 | always appears in the selected window. The buffer displayed in the |
| 41 | 49 | selected window is called the @dfn{current buffer}, and it is where | |
| 42 | Most Emacs commands implicitly apply to the text in the selected | 50 | editing happens. Most Emacs commands implicitly apply to the current |
| 43 | window; the text in unselected windows is mostly visible for | 51 | buffer; the text displayed in unselected windows is mostly visible for |
| 44 | reference. However, mouse commands generally operate on whatever | 52 | reference. If you use multiple frames on a graphical display, |
| 45 | window you click them in, whether selected or not. If you use | 53 | selecting a particular frame selects a window in that frame. |
| 46 | multiple frames on a graphical display, then giving the input focus to | ||
| 47 | a particular frame selects a window in that frame. | ||
| 48 | |||
| 49 | Each window's last line is a @dfn{mode line}, which describes what | ||
| 50 | is going on in that window. It appears in different color and/or a ``3D'' | ||
| 51 | box if the terminal supports them; its contents normally begin with | ||
| 52 | @w{@samp{--:-- @ *scratch*}} when Emacs starts. The mode line | ||
| 53 | displays status information such as what buffer is being displayed | ||
| 54 | above it in the window, what major and minor modes are in use, and | ||
| 55 | whether the buffer contains unsaved changes. | ||
| 56 | 54 | ||
| 57 | @menu | 55 | @menu |
| 58 | * Point:: The place in the text where editing commands operate. | 56 | * Point:: The place in the text where editing commands operate. |
| @@ -66,11 +64,14 @@ whether the buffer contains unsaved changes. | |||
| 66 | @cindex point | 64 | @cindex point |
| 67 | @cindex cursor | 65 | @cindex cursor |
| 68 | 66 | ||
| 69 | Within Emacs, the active cursor shows the location at which | 67 | The active cursor shows the location at which editing commands will |
| 70 | editing commands will take effect. This location is called @dfn{point}. | 68 | take effect, which is called @dfn{point}@footnote{The term ``point'' |
| 71 | Many Emacs commands move point through the text, so that you can edit at | 69 | comes from the character @samp{.}, which was the command in TECO (the |
| 72 | different places in it. You can also place point by clicking mouse | 70 | language in which the original Emacs was written) for accessing the |
| 73 | button 1 (normally the left button). | 71 | value now called ``point.''}. Many Emacs commands move point to |
| 72 | different places in the buffer; for example, you can place point by | ||
| 73 | clicking mouse button 1 (normally the left button) at the desired | ||
| 74 | location. | ||
| 74 | 75 | ||
| 75 | While the cursor appears to be @emph{on} a character, you should | 76 | While the cursor appears to be @emph{on} a character, you should |
| 76 | think of point as @emph{between} two characters; it points @emph{before} | 77 | think of point as @emph{between} two characters; it points @emph{before} |
| @@ -89,141 +90,147 @@ each buffer has its own point location. A buffer that is not | |||
| 89 | currently displayed remembers its point location in case you display | 90 | currently displayed remembers its point location in case you display |
| 90 | it again later. When Emacs displays multiple windows, each window has | 91 | it again later. When Emacs displays multiple windows, each window has |
| 91 | its own point location. If the same buffer appears in more than one | 92 | its own point location. If the same buffer appears in more than one |
| 92 | window, each window has its own point position in that buffer, and (when | 93 | window, each window has its own point position in that buffer. |
| 93 | possible) its own cursor. | ||
| 94 | 94 | ||
| 95 | A text-only terminal has just one cursor, in the selected window. | 95 | On a graphical display, Emacs shows a cursor in each window; the |
| 96 | The other windows do not show a cursor, even though they do have their | ||
| 97 | own position of point. When Emacs updates the screen on a text-only | ||
| 98 | terminal, it has to put the cursor temporarily at the place the output | ||
| 99 | goes. This doesn't mean point is there, though. Once display | ||
| 100 | updating finishes, Emacs puts the cursor where point is. | ||
| 101 | |||
| 102 | On graphical displays, Emacs shows a cursor in each window; the | ||
| 103 | selected window's cursor is solid and blinking, and the other cursors | 96 | selected window's cursor is solid and blinking, and the other cursors |
| 104 | are just hollow. Thus, the most prominent cursor always shows you the | 97 | are hollow. On a text-only terminal, there is just one cursor, in the |
| 105 | selected window, on all kinds of terminals. | 98 | selected window; even though the unselected windows have their own |
| 106 | 99 | point positions, they do not display a cursor. @xref{Cursor Display}, | |
| 107 | @xref{Cursor Display}, for customizable variables that control display | 100 | for customizable variables that control cursor display. |
| 108 | of the cursor or cursors. | ||
| 109 | |||
| 110 | The term ``point'' comes from the character @samp{.}, which was the | ||
| 111 | command in TECO (the language in which the original Emacs was written) | ||
| 112 | for accessing the value now called ``point.'' | ||
| 113 | 101 | ||
| 114 | @node Echo Area | 102 | @node Echo Area |
| 115 | @section The Echo Area | 103 | @section The Echo Area |
| 116 | @cindex echo area | 104 | @cindex echo area |
| 117 | 105 | ||
| 118 | The line at the bottom of the frame (below the mode line) is the | 106 | The line at the very bottom of the frame is the @dfn{echo area}. It |
| 119 | @dfn{echo area}. It is used to display small amounts of text for | 107 | is used to display small amounts of text for various purposes. |
| 120 | various purposes. | ||
| 121 | 108 | ||
| 122 | @dfn{Echoing} means displaying the characters that you type. At the | 109 | @dfn{Echoing} means displaying the characters that you type. |
| 123 | command line, the operating system normally echoes all your input. | 110 | Single-character commands, including most simple editing operations, |
| 124 | Emacs handles echoing differently. | 111 | are not echoed. Multi-character commands are echoed if you pause |
| 125 | 112 | while typing them: if you pause for more than a second in the middle | |
| 126 | Single-character commands do not echo in Emacs, and multi-character | 113 | of a command, Emacs echoes all the characters of the command so far, |
| 127 | commands echo only if you pause while typing them. As soon as you pause | 114 | to prompt you for the rest of the command. The echoed characters are |
| 128 | for more than a second in the middle of a command, Emacs echoes all the | 115 | displayed in the echo area. Once echoing has started, the rest of the |
| 129 | characters of the command so far. This is to @dfn{prompt} you for the | 116 | command echoes immediately as you type it. This behavior is designed |
| 130 | rest of the command. Once echoing has started, the rest of the command | 117 | to give confident users fast response, while giving hesitant users |
| 131 | echoes immediately as you type it. This behavior is designed to give | 118 | maximum feedback. @xref{Display Custom}. |
| 132 | confident users fast response, while giving hesitant users maximum | ||
| 133 | feedback. You can change this behavior by setting a variable | ||
| 134 | (@pxref{Display Custom}). | ||
| 135 | 119 | ||
| 136 | @cindex error message in the echo area | 120 | @cindex error message in the echo area |
| 137 | If a command cannot do its job, it may display an @dfn{error | 121 | If a command cannot do its job, it may display an @dfn{error |
| 138 | message} in the echo area. Error messages are accompanied by beeping | 122 | message}. Error messages are also displayed in the echo area. They |
| 139 | or by flashing the screen. The error also discards any input you have | 123 | may be accompanied by beeping or by flashing the screen. |
| 140 | typed ahead. | 124 | |
| 141 | 125 | Some commands display informative messages in the echo area. Unlike | |
| 142 | Some commands display informative messages in the echo area. These | 126 | error messages, these messages are not announced with a beep or flash. |
| 143 | messages look much like error messages, but they are not announced | 127 | Sometimes the message tells you what the command has done, when this |
| 144 | with a beep and do not throw away input. Sometimes the message tells | 128 | is not obvious from looking at the text being edited. Other times, |
| 145 | you what the command has done, when this is not obvious from looking | 129 | the sole purpose of a command is to show you a message giving you |
| 146 | at the text being edited. Sometimes the sole purpose of a command is | 130 | specific information. For example, @kbd{C-x =} (hold down @key{CTRL} |
| 147 | to show you a message giving you specific information---for example, | 131 | and type @kbd{x}, then let go of @key{CTRL} and type @kbd{=}) displays |
| 148 | @kbd{C-x =} (hold down @key{CTRL} and type @kbd{x}, then let go of | 132 | a message describing the character position of point in the text and |
| 149 | @key{CTRL} and type @kbd{=}) displays a message describing the | 133 | its current column in the window. Commands that take a long time |
| 150 | character position of point in the text and its current column in the | 134 | often display messages ending in @samp{...} while they are working, |
| 151 | window. Commands that take a long time often display messages ending | 135 | and add @samp{done} at the end when they are finished. They may also |
| 152 | in @samp{...} while they are working, and add @samp{done} at the end | 136 | indicate progress with percentages. |
| 153 | when they are finished. They may also indicate progress with | ||
| 154 | percentages. | ||
| 155 | 137 | ||
| 156 | @cindex @samp{*Messages*} buffer | 138 | @cindex @samp{*Messages*} buffer |
| 157 | @cindex saved echo area messages | 139 | @cindex saved echo area messages |
| 158 | @cindex messages saved from echo area | 140 | @cindex messages saved from echo area |
| 159 | Echo-area informative messages are saved in an editor buffer named | ||
| 160 | @samp{*Messages*}. (We have not explained buffers yet; see | ||
| 161 | @ref{Buffers}, for more information about them.) If you miss a message | ||
| 162 | that appears briefly on the screen, you can switch to the | ||
| 163 | @samp{*Messages*} buffer to see it again. (Successive progress messages | ||
| 164 | are often collapsed into one in that buffer.) | ||
| 165 | |||
| 166 | @vindex message-log-max | 141 | @vindex message-log-max |
| 167 | The size of @samp{*Messages*} is limited to a certain number of | 142 | Informative echo-area messages are saved in a special buffer named |
| 168 | lines. The variable @code{message-log-max} specifies how many lines. | 143 | @samp{*Messages*}. (We have not explained buffers yet; see |
| 169 | Once the buffer has that many lines, adding lines at the end deletes lines | 144 | @ref{Buffers}, for more information about them.) If you miss a |
| 170 | from the beginning, to keep the size constant. @xref{Variables}, for | 145 | message that appeared briefly on the screen, you can switch to the |
| 171 | how to set variables such as @code{message-log-max}. | 146 | @samp{*Messages*} buffer to see it again. The @samp{*Messages*} |
| 172 | 147 | buffer is limited to a certain number of lines, specified by the | |
| 173 | The echo area is also used to display the @dfn{minibuffer}, a window | 148 | variable @code{message-log-max}. (We have not explained variables |
| 174 | where you can input arguments to commands, such as the name of a file | 149 | either; see @ref{Variables}, for more information about them.) Beyond |
| 175 | to be edited. When the minibuffer is in use, the echo area begins | 150 | this limit, one line is deleted from the beginning whenever a new |
| 176 | with a prompt string that usually ends with a colon; also, the cursor | 151 | message line is added at the end. |
| 177 | appears in that line because it is the selected window. You can | 152 | |
| 178 | always get out of the minibuffer by typing @kbd{C-g}. | 153 | @cindex minibuffer |
| 154 | The echo area is also used to display the @dfn{minibuffer}, a | ||
| 155 | special window where you can input arguments to commands, such as the | ||
| 156 | name of a file to be edited. When the minibuffer is in use, the text | ||
| 157 | displayed in the echo area begins with a @dfn{prompt string} (usually | ||
| 158 | ending with a colon); also, the active cursor appears within the | ||
| 159 | minibuffer, which is temporarily considered the selected window. You | ||
| 160 | can always get out of the minibuffer by typing @kbd{C-g}. | ||
| 179 | @xref{Minibuffer}. | 161 | @xref{Minibuffer}. |
| 180 | 162 | ||
| 181 | @node Mode Line | 163 | @node Mode Line |
| 182 | @section The Mode Line | 164 | @section The Mode Line |
| 183 | @cindex mode line | 165 | @cindex mode line |
| 184 | @cindex top level | 166 | @cindex top level |
| 185 | @c | ||
| 186 | 167 | ||
| 187 | Each text window's last line is a @dfn{mode line}, which describes | 168 | At the bottom of each window is a @dfn{mode line}, which describes |
| 188 | what is going on in that window. The mode line starts and ends with | 169 | what is going on in the current buffer. When there is only one |
| 189 | dashes. When there is only one text window, the mode line appears | 170 | window, the mode line appears right above the echo area; it is the |
| 190 | right above the echo area; it is the next-to-last line in the frame. | 171 | next-to-last line in the frame. On a graphical display, the mode line |
| 191 | On a text-only terminal, the mode line is in inverse video if the | 172 | is drawn with a 3D box appearance, and the mode line of the selected |
| 192 | terminal supports that; on a graphics display, the mode line has a 3D | 173 | window has a brighter color than that of unselected windows to make it |
| 193 | box appearance to help it stand out. The mode line of the selected | 174 | stand out. On a text-only terminal, the mode line is usually drawn in |
| 194 | window is highlighted if possible; see @ref{Optional Mode Line}, for | 175 | inverse video. |
| 195 | more information. | ||
| 196 | 176 | ||
| 197 | Normally, the mode line looks like this: | 177 | The text displayed in the mode line has the following format: |
| 198 | 178 | ||
| 199 | @example | 179 | @example |
| 200 | -@var{cs}:@var{ch}@var{R}-@var{fr} @var{buf} @var{pos} @var{line} (@var{major} @var{minor})------ | 180 | -@var{cs}:@var{ch}-@var{fr} @var{buf} @var{pos} @var{line} (@var{major} @var{minor})------ |
| 201 | @end example | 181 | @end example |
| 202 | 182 | ||
| 203 | @noindent | 183 | @noindent |
| 204 | This gives information about the window and the buffer it displays: the | 184 | The @var{cs} string and the colon character after it describe the |
| 205 | buffer's name, what major and minor modes are in use, whether the | 185 | character set and newline convention used for the current buffer. |
| 206 | buffer's text has been changed, and how far down the buffer you are | 186 | Normally, Emacs handles these settings intelligently, but it is |
| 207 | currently looking. | 187 | sometimes useful to have this information. |
| 188 | |||
| 189 | @var{cs} describes the character set of the buffer (@pxref{Coding | ||
| 190 | Systems}). If it is a dash (@samp{-}), that indicates the default | ||
| 191 | state of affairs: no special character set handling, except for the | ||
| 192 | end-of-line translations described in the next paragraph. @samp{=} | ||
| 193 | means no conversion whatsoever. Letters represent various nontrivial | ||
| 194 | @dfn{coding systems}---for example, @samp{1} represents ISO Latin-1. | ||
| 195 | On a text-only terminal, @var{cs} is preceded by two additional | ||
| 196 | characters that describe the coding system for keyboard input and the | ||
| 197 | coding system for terminal output. Furthermore, if you are using an | ||
| 198 | input method, @var{cs} is preceded by a string that identifies the | ||
| 199 | input method, which takes the form @samp{@var{i}>}, @samp{@var{i}+}, | ||
| 200 | or @samp{@var{i}@@} (@pxref{Input Methods}). | ||
| 208 | 201 | ||
| 209 | @var{ch} contains two stars @samp{**} if the text in the buffer has | 202 | @cindex end-of-line conversion, mode-line indication |
| 210 | been edited (the buffer is ``modified''), or @samp{--} if the buffer has | 203 | The character after @var{cs} is usually a colon. However, under |
| 211 | not been edited. For a read-only buffer, it is @samp{%*} if the buffer | 204 | some circumstances a different string is displayed, which indicates a |
| 212 | is modified, and @samp{%%} otherwise. | 205 | nontrivial end-of-line convention. Usually, lines of text are |
| 213 | 206 | separated by @dfn{newline characters}, but two other conventions are | |
| 214 | @var{R} is @samp{@@} if the default-directory for the current buffer | 207 | sometimes used. The MS-DOS convention is to use a ``carriage-return'' |
| 215 | is on a remote machine, or a hyphen otherwise. | 208 | character followed by a ``linefeed'' character; when editing such |
| 209 | files, the colon changes to either a backslash (@samp{\}) or | ||
| 210 | @samp{(DOS)}, depending on the operating system. The Macintosh | ||
| 211 | end-of-line convention is to use a ``carriage-return'' character | ||
| 212 | instead of a newline; when editing such files, the colon indicator | ||
| 213 | changes to either a forward slash (@samp{/}) or @samp{(Mac)}. On some | ||
| 214 | systems, Emacs displays @samp{(Unix)} instead of the colon for files | ||
| 215 | that use newline as the line separator. | ||
| 216 | |||
| 217 | The next element on the mode line is the string indicated by | ||
| 218 | @var{ch}. This shows two dashes (@samp{--}) if the buffer displayed | ||
| 219 | in the window has the same contents as the corresponding file on the | ||
| 220 | disk; i.e., if the buffer is ``unmodified''. If the buffer is | ||
| 221 | modified, it shows two stars (@samp{**}). For a read-only buffer, it | ||
| 222 | shows @samp{%*} if the buffer is modified, and @samp{%%} otherwise. | ||
| 223 | |||
| 224 | The character after @var{ch} is normally a dash (@samp{-}). | ||
| 225 | However, if the default-directory for the current buffer is on a | ||
| 226 | remote machine, @samp{@@} is displayed instead (@pxref{File Names}). | ||
| 216 | 227 | ||
| 217 | @var{fr} gives the selected frame name (@pxref{Frames}). It appears | 228 | @var{fr} gives the selected frame name (@pxref{Frames}). It appears |
| 218 | only on text-only terminals. The initial frame's name is @samp{F1}. | 229 | only on text-only terminals. The initial frame's name is @samp{F1}. |
| 219 | 230 | ||
| 220 | @var{buf} is the name of the window's @dfn{buffer}. Usually this is | 231 | @var{buf} is the name of the buffer displayed in the window. |
| 221 | the same as the name of a file you are editing. @xref{Buffers}. | 232 | Usually, this is the same as the name of a file you are editing. |
| 222 | 233 | @xref{Buffers}. | |
| 223 | The buffer displayed in the selected window (the window with the | ||
| 224 | cursor) is the @dfn{current buffer}, where editing happens. When a | ||
| 225 | command's effect applies to ``the buffer,'' we mean it does those | ||
| 226 | things to the current buffer. | ||
| 227 | 234 | ||
| 228 | @var{pos} tells you whether there is additional text above the top of | 235 | @var{pos} tells you whether there is additional text above the top of |
| 229 | the window, or below the bottom. If your buffer is small and it is all | 236 | the window, or below the bottom. If your buffer is small and it is all |
| @@ -234,34 +241,29 @@ if you are looking at the end of the buffer, or @samp{@var{nn}%}, where | |||
| 234 | With Size Indication mode, you can display the size of the buffer as | 241 | With Size Indication mode, you can display the size of the buffer as |
| 235 | well. @xref{Optional Mode Line}. | 242 | well. @xref{Optional Mode Line}. |
| 236 | 243 | ||
| 237 | @var{line} is @samp{L} followed by the current line number of point. | 244 | @var{line} is the character @samp{L} followed by the line number at |
| 238 | This is present when Line Number mode is enabled (it normally is). | 245 | point. (You can display the current column number too, by turning on |
| 239 | You can display the current column number too, by turning on Column | 246 | Column Number mode. @xref{Optional Mode Line}.) |
| 240 | Number mode. It is not enabled by default because it is somewhat | ||
| 241 | slower. @xref{Optional Mode Line}. | ||
| 242 | 247 | ||
| 243 | @var{major} is the name of the @dfn{major mode} in effect in the | 248 | @var{major} is the name of the @dfn{major mode} used in the buffer. |
| 244 | buffer. A buffer can only be in one major mode at a time. The major | 249 | A major mode is a principal editing mode for the buffer, such as Text |
| 245 | modes available include Fundamental mode (the least specialized), Text | 250 | mode, Lisp mode, C mode, and so forth. @xref{Major Modes}. |
| 246 | mode, Lisp mode, C mode, Texinfo mode, and many others. @xref{Major | ||
| 247 | Modes}, for details of how the modes differ and how to select | ||
| 248 | them. | ||
| 249 | 251 | ||
| 250 | Some major modes display additional information after the major mode | 252 | Some major modes display additional information after the major mode |
| 251 | name. For example, Rmail buffers display the current message number and | 253 | name. For example, Rmail buffers display the current message number and |
| 252 | the total number of messages. Compilation buffers and Shell buffers | 254 | the total number of messages. Compilation buffers and Shell buffers |
| 253 | display the status of the subprocess. | 255 | display the status of the subprocess. |
| 254 | 256 | ||
| 255 | @var{minor} is a list of some of the @dfn{minor modes} that are | 257 | @var{minor} is a list of some of the @dfn{minor modes} turned on in |
| 256 | turned on at the moment in the window's chosen buffer. For example, | 258 | the buffer. Minor modes are optional editing modes that provide |
| 257 | @samp{Fill} means that Auto Fill mode is on. @samp{Abbrev} means that | 259 | additional features on top of the major mode. @xref{Minor Modes}. |
| 258 | Word Abbrev mode is on. @samp{Ovwrt} means that Overwrite mode is on. | ||
| 259 | @xref{Minor Modes}, for more information. | ||
| 260 | 260 | ||
| 261 | @samp{Narrow} means that the buffer being displayed has editing | 261 | Some features are listed together with the minor modes whenever they |
| 262 | restricted to only a portion of its text. (This is not really a minor | 262 | are turned on, even through they are not really minor modes. |
| 263 | mode, but is like one.) @xref{Narrowing}. @samp{Def} means that a | 263 | @samp{Narrow} means that the buffer being displayed has editing |
| 264 | keyboard macro is being defined. @xref{Keyboard Macros}. | 264 | restricted to only a portion of its text (@pxref{Narrowing}). |
| 265 | @samp{Def} means that a keyboard macro is currently being defined | ||
| 266 | (@pxref{Keyboard Macros}). | ||
| 265 | 267 | ||
| 266 | In addition, if Emacs is inside a recursive editing level, square | 268 | In addition, if Emacs is inside a recursive editing level, square |
| 267 | brackets (@samp{[@dots{}]}) appear around the parentheses that | 269 | brackets (@samp{[@dots{}]}) appear around the parentheses that |
| @@ -271,46 +273,10 @@ editing levels affect Emacs globally, not just one buffer, the square | |||
| 271 | brackets appear in every window's mode line or not in any of them. | 273 | brackets appear in every window's mode line or not in any of them. |
| 272 | @xref{Recursive Edit}.@refill | 274 | @xref{Recursive Edit}.@refill |
| 273 | 275 | ||
| 274 | @var{cs} states the coding system used for the file you are editing. | 276 | You can change the appearance of the mode line as well as the format |
| 275 | A dash indicates the default state of affairs: no code conversion, | 277 | of its contents. @xref{Optional Mode Line}. In addition, the mode |
| 276 | except for end-of-line translation if the file contents call for that. | 278 | line is mouse-sensitive; clicking on different parts of the mode line |
| 277 | @samp{=} means no conversion whatsoever. Nontrivial code conversions | 279 | performs various commands. @xref{Mode Line Mouse}. |
| 278 | are represented by various letters---for example, @samp{1} refers to ISO | ||
| 279 | Latin-1. @xref{Coding Systems}, for more information. | ||
| 280 | |||
| 281 | On a text-only terminal, @var{cs} includes two additional characters | ||
| 282 | which describe the coding system for keyboard input and the coding | ||
| 283 | system for terminal output. They come right before the coding system | ||
| 284 | used for the file you are editing. | ||
| 285 | |||
| 286 | If you are using an input method, a string of the form | ||
| 287 | @samp{@var{i}>} is added to the beginning of @var{cs}; @var{i} | ||
| 288 | identifies the input method. (Some input methods show @samp{+} or | ||
| 289 | @samp{@@} instead of @samp{>}.) @xref{Input Methods}. | ||
| 290 | |||
| 291 | When multibyte characters are not enabled, @var{cs} does not appear at | ||
| 292 | all. @xref{Enabling Multibyte}. | ||
| 293 | |||
| 294 | @cindex end-of-line conversion, mode-line indication | ||
| 295 | The colon after @var{cs} changes to another string in some cases. | ||
| 296 | Emacs uses newline characters to separate lines in the buffer. Some | ||
| 297 | files use different conventions for separating lines: either | ||
| 298 | carriage-return linefeed (the MS-DOS convention) or just | ||
| 299 | carriage-return (the Macintosh convention). If the buffer's file uses | ||
| 300 | carriage-return linefeed, the colon changes to either a backslash | ||
| 301 | (@samp{\}) or @samp{(DOS)}, depending on the operating system. If the | ||
| 302 | file uses just carriage-return, the colon indicator changes to either | ||
| 303 | a forward slash (@samp{/}) or @samp{(Mac)}. On some systems, Emacs | ||
| 304 | displays @samp{(Unix)} instead of the colon for files that use newline | ||
| 305 | as the line separator. | ||
| 306 | |||
| 307 | @xref{Optional Mode Line}, to add other handy information to the | ||
| 308 | mode line, such as the size of the buffer, the current column number | ||
| 309 | of point, and whether new mail for you has arrived. | ||
| 310 | |||
| 311 | The mode line is mouse-sensitive; when you move the mouse across | ||
| 312 | various parts of it, Emacs displays help text to say what a click in | ||
| 313 | that place will do. @xref{Mode Line Mouse}. | ||
| 314 | 280 | ||
| 315 | @node Menu Bar | 281 | @node Menu Bar |
| 316 | @section The Menu Bar | 282 | @section The Menu Bar |
| @@ -325,19 +291,22 @@ here, as you can more easily see them yourself. | |||
| 325 | @findex tmm-menubar | 291 | @findex tmm-menubar |
| 326 | @findex menu-bar-open | 292 | @findex menu-bar-open |
| 327 | On a graphical display, you can use the mouse to choose a command | 293 | On a graphical display, you can use the mouse to choose a command |
| 328 | from the menu bar. A right-arrow at the end of the menu item means it | 294 | from the menu bar. A right-arrow at the end of a menu item means it |
| 329 | leads to a subsidiary menu; @samp{...} at the end means that the | 295 | leads to a subsidiary menu, or @dfn{submenu}. A @samp{...} at the end |
| 330 | command invoked will read arguments (further input from you) before it | 296 | of a menu item means that the command invoked will prompt you for |
| 331 | actually does anything. | 297 | further input before it actually does anything. |
| 332 | 298 | ||
| 333 | You can also invoke the first menu bar item by pressing @key{F10} (to run | 299 | Some of the commands in the menu bar have ordinary key bindings as |
| 334 | the command @code{menu-bar-open}). You can then navigate the menus with | 300 | well; if so, a key binding is shown in parentheses after the item |
| 335 | the arrow keys. You select an item by pressing @key{RET} and cancel menu | 301 | itself. To view the full command name and documentation for a menu |
| 336 | navigation with @key{ESC}. | 302 | item, type @kbd{C-h k}, and then select the menu bar with the mouse in |
| 303 | the usual way (@pxref{Key Help}). | ||
| 337 | 304 | ||
| 338 | To view the full command name and documentation for a menu item, type | 305 | Instead of using the mouse, you can also invoke the first menu bar |
| 339 | @kbd{C-h k}, and then select the menu bar with the mouse in the usual | 306 | item by pressing @key{F10} (to run the command @code{menu-bar-open}). |
| 340 | way (@pxref{Key Help}). | 307 | You can then navigate the menus with the arrow keys. To activate a |
| 308 | selected menu item, press @key{RET}; to cancel menu navigation, press | ||
| 309 | @key{ESC}. | ||
| 341 | 310 | ||
| 342 | On text-only terminals with no mouse, you can use the menu bar by | 311 | On text-only terminals with no mouse, you can use the menu bar by |
| 343 | typing @kbd{M-`} or @key{F10} (these run the command | 312 | typing @kbd{M-`} or @key{F10} (these run the command |
| @@ -351,9 +320,6 @@ that item; it is usually the initial of some word in the item's name. | |||
| 351 | This letter or digit is separated from the item name by @samp{=>}. You | 320 | This letter or digit is separated from the item name by @samp{=>}. You |
| 352 | can type the item's letter or digit to select the item. | 321 | can type the item's letter or digit to select the item. |
| 353 | 322 | ||
| 354 | Some of the commands in the menu bar have ordinary key bindings as | ||
| 355 | well; one such binding is shown in parentheses after the item itself. | ||
| 356 | |||
| 357 | @ignore | 323 | @ignore |
| 358 | arch-tag: 104ba40e-d972-4866-a542-a98be94bdf2f | 324 | arch-tag: 104ba40e-d972-4866-a542-a98be94bdf2f |
| 359 | @end ignore | 325 | @end ignore |