[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to screen.texi
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] Changes to screen.texi |
Date: |
Thu, 06 Sep 2007 04:48:27 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 07/09/06 04:48:27
Index: screen.texi
===================================================================
RCS file: screen.texi
diff -N screen.texi
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ screen.texi 6 Sep 2007 04:48:27 -0000 1.1
@@ -0,0 +1,359 @@
address@hidden This is part of the Emacs manual.
address@hidden Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001,
2002,
address@hidden 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
address@hidden See file emacs.texi for copying conditions.
address@hidden Screen, User Input, Acknowledgments, Top
address@hidden The Organization of the Screen
address@hidden screen
address@hidden parts of the screen
+
+ On a text-only terminal, the Emacs display occupies the whole
+screen. On a graphical display, such as on GNU/Linux using the X
+Window System, Emacs creates its own windows to use. We use the term
address@hidden to mean the entire text-only screen or an entire
+system-level window used by Emacs. Emacs uses both kinds of frames,
+in the same way, to display your editing. Emacs normally starts out
+with just one frame, but you can create additional frames if you wish.
address@hidden
+
+ When you start Emacs, the main central area of the frame, all except
+for the top and bottom and sides, displays the text you are editing.
+This area is called @dfn{the window}. At the top there is normally a
address@hidden bar} where you can access a series of menus; then there may
+be a @dfn{tool bar}, a row of icons that perform editing commands if
+you click on them. Below this, the window begins, often with a
address@hidden bar} on one side. Below the window comes the last line of
+the frame, a special @dfn{echo area} or @dfn{minibuffer window}, where
+prompts appear and you enter information when Emacs asks for it. See
+following sections for more information about these special lines.
+
+ You can subdivide the window horizontally or vertically to make
+multiple text windows, each of which can independently display some
+file or text (@pxref{Windows}). In this manual, the word ``window''
+refers to the initial large window if not subdivided, or any one of
+the multiple windows you have subdivided it into.
+
+ At any time, one window is the @dfn{selected window}. On graphical
+displays, the selected window normally shows a more prominent cursor
+(usually solid and blinking) while other windows show a weaker cursor
+(such as a hollow box). Text terminals have just one cursor, so it
+always appears in the selected window.
+
+ Most Emacs commands implicitly apply to the text in the selected
+window; the text in unselected windows is mostly visible for
+reference. However, mouse commands generally operate on whatever
+window you click them in, whether selected or not. If you use
+multiple frames on a graphical display, then giving the input focus to
+a particular frame selects a window in that frame.
+
+ Each window's last line is a @dfn{mode line}, which describes what
+is going on in that window. It appears in different color and/or a ``3D''
+box if the terminal supports them; its contents normally begin with
address@hidden@samp{--:-- @ *scratch*}} when Emacs starts. The mode line
+displays status information such as what buffer is being displayed
+above it in the window, what major and minor modes are in use, and
+whether the buffer contains unsaved changes.
+
address@hidden
+* Point:: The place in the text where editing commands operate.
+* Echo Area:: Short messages appear at the bottom of the screen.
+* Mode Line:: Interpreting the mode line.
+* Menu Bar:: How to use the menu bar.
address@hidden menu
+
address@hidden Point
address@hidden Point
address@hidden point
address@hidden cursor
+
+ Within Emacs, the active cursor shows the location at which
+editing commands will take effect. This location is called @dfn{point}.
+Many Emacs commands move point through the text, so that you can edit at
+different places in it. You can also place point by clicking mouse
+button 1 (normally the left button).
+
+ While the cursor appears to be @emph{on} a character, you should
+think of point as @emph{between} two characters; it points @emph{before}
+the character that appears under the cursor. For example, if your text
+looks like @samp{frob} with the cursor over the @samp{b}, then point is
+between the @samp{o} and the @samp{b}. If you insert the character
address@hidden at that position, the result is @samp{fro!b}, with point
+between the @samp{!} and the @samp{b}. Thus, the cursor remains over
+the @samp{b}, as before.
+
+ Sometimes people speak of ``the cursor'' when they mean ``point,'' or
+speak of commands that move point as ``cursor motion'' commands.
+
+ If you are editing several files in Emacs, each in its own buffer,
+each buffer has its own point location. A buffer that is not
+currently displayed remembers its point location in case you display
+it again later. When Emacs displays multiple windows, each window has
+its own point location. If the same buffer appears in more than one
+window, each window has its own point position in that buffer, and (when
+possible) its own cursor.
+
+ A text-only terminal has just one cursor, in the selected window.
+The other windows do not show a cursor, even though they do have their
+own position of point. When Emacs updates the screen on a text-only
+terminal, it has to put the cursor temporarily at the place the output
+goes. This doesn't mean point is there, though. Once display
+updating finishes, Emacs puts the cursor where point is.
+
+ On graphical displays, Emacs shows a cursor in each window; the
+selected window's cursor is solid and blinking, and the other cursors
+are just hollow. Thus, the most prominent cursor always shows you the
+selected window, on all kinds of terminals.
+
+ @xref{Cursor Display}, for customizable variables that control display
+of the cursor or cursors.
+
+ The term ``point'' comes from the character @samp{.}, which was the
+command in TECO (the language in which the original Emacs was written)
+for accessing the value now called ``point.''
+
address@hidden Echo Area
address@hidden The Echo Area
address@hidden echo area
+
+ The line at the bottom of the frame (below the mode line) is the
address@hidden area}. It is used to display small amounts of text for
+various purposes.
+
+ @dfn{Echoing} means displaying the characters that you type. At the
+command line, the operating system normally echoes all your input.
+Emacs handles echoing differently.
+
+ Single-character commands do not echo in Emacs, and multi-character
+commands echo only if you pause while typing them. As soon as you pause
+for more than a second in the middle of a command, Emacs echoes all the
+characters of the command so far. This is to @dfn{prompt} you for the
+rest of the command. Once echoing has started, the rest of the command
+echoes immediately as you type it. This behavior is designed to give
+confident users fast response, while giving hesitant users maximum
+feedback. You can change this behavior by setting a variable
+(@pxref{Display Custom}).
+
address@hidden error message in the echo area
+ If a command cannot do its job, it may display an @dfn{error
+message} in the echo area. Error messages are accompanied by beeping
+or by flashing the screen. The error also discards any input you have
+typed ahead.
+
+ Some commands display informative messages in the echo area. These
+messages look much like error messages, but they are not announced
+with a beep and do not throw away input. Sometimes the message tells
+you what the command has done, when this is not obvious from looking
+at the text being edited. Sometimes the sole purpose of a command is
+to show you a message giving you specific information---for example,
address@hidden =} (hold down @key{CTRL} and type @kbd{x}, then let go of
address@hidden and type @kbd{=}) displays a message describing the
+character position of point in the text and its current column in the
+window. Commands that take a long time often display messages ending
+in @samp{...} while they are working, and add @samp{done} at the end
+when they are finished. They may also indicate progress with
+percentages.
+
address@hidden @samp{*Messages*} buffer
address@hidden saved echo area messages
address@hidden messages saved from echo area
+ Echo-area informative messages are saved in an editor buffer named
address@hidden (We have not explained buffers yet; see
address@hidden, for more information about them.) If you miss a message
+that appears briefly on the screen, you can switch to the
address@hidden buffer to see it again. (Successive progress messages
+are often collapsed into one in that buffer.)
+
address@hidden message-log-max
+ The size of @samp{*Messages*} is limited to a certain number of
+lines. The variable @code{message-log-max} specifies how many lines.
+Once the buffer has that many lines, adding lines at the end deletes lines
+from the beginning, to keep the size constant. @xref{Variables}, for
+how to set variables such as @code{message-log-max}.
+
+ The echo area is also used to display the @dfn{minibuffer}, a window
+where you can input arguments to commands, such as the name of a file
+to be edited. When the minibuffer is in use, the echo area begins
+with a prompt string that usually ends with a colon; also, the cursor
+appears in that line because it is the selected window. You can
+always get out of the minibuffer by typing @kbd{C-g}.
address@hidden
+
address@hidden Mode Line
address@hidden The Mode Line
address@hidden mode line
address@hidden top level
address@hidden
+
+ Each text window's last line is a @dfn{mode line}, which describes
+what is going on in that window. The mode line starts and ends with
+dashes. When there is only one text window, the mode line appears
+right above the echo area; it is the next-to-last line in the frame.
+On a text-only terminal, the mode line is in inverse video if the
+terminal supports that; on a graphics display, the mode line has a 3D
+box appearance to help it stand out. The mode line of the selected
+window is highlighted if possible; see @ref{Optional Mode Line}, for
+more information.
+
+ Normally, the mode line looks like this:
+
address@hidden
address@hidden:@address@hidden@var{fr} @var{buf} @var{pos} @var{line}
(@var{major} @var{minor})------
address@hidden example
+
address@hidden
+This gives information about the window and the buffer it displays: the
+buffer's name, what major and minor modes are in use, whether the
+buffer's text has been changed, and how far down the buffer you are
+currently looking.
+
+ @var{ch} contains two stars @samp{**} if the text in the buffer has
+been edited (the buffer is ``modified''), or @samp{--} if the buffer has
+not been edited. For a read-only buffer, it is @samp{%*} if the buffer
+is modified, and @samp{%%} otherwise.
+
+ @var{R} is @samp{@@} if the default-directory for the current buffer
+is on a remote machine, or a hyphen otherwise.
+
+ @var{fr} gives the selected frame name (@pxref{Frames}). It appears
+only on text-only terminals. The initial frame's name is @samp{F1}.
+
+ @var{buf} is the name of the window's @dfn{buffer}. Usually this is
+the same as the name of a file you are editing. @xref{Buffers}.
+
+ The buffer displayed in the selected window (the window with the
+cursor) is the @dfn{current buffer}, where editing happens. When a
+command's effect applies to ``the buffer,'' we mean it does those
+things to the current buffer.
+
+ @var{pos} tells you whether there is additional text above the top of
+the window, or below the bottom. If your buffer is small and it is all
+visible in the window, @var{pos} is @samp{All}. Otherwise, it is
address@hidden if you are looking at the beginning of the buffer, @samp{Bot}
+if you are looking at the end of the buffer, or @address@hidden, where
address@hidden is the percentage of the buffer above the top of the window.
+With Size Indication mode, you can display the size of the buffer as
+well. @xref{Optional Mode Line}.
+
+ @var{line} is @samp{L} followed by the current line number of point.
+This is present when Line Number mode is enabled (it normally is).
+You can display the current column number too, by turning on Column
+Number mode. It is not enabled by default because it is somewhat
+slower. @xref{Optional Mode Line}.
+
+ @var{major} is the name of the @dfn{major mode} in effect in the
+buffer. A buffer can only be in one major mode at a time. The major
+modes available include Fundamental mode (the least specialized), Text
+mode, Lisp mode, C mode, Texinfo mode, and many others. @xref{Major
+Modes}, for details of how the modes differ and how to select
+them.
+
+ Some major modes display additional information after the major mode
+name. For example, Rmail buffers display the current message number and
+the total number of messages. Compilation buffers and Shell buffers
+display the status of the subprocess.
+
+ @var{minor} is a list of some of the @dfn{minor modes} that are
+turned on at the moment in the window's chosen buffer. For example,
address@hidden means that Auto Fill mode is on. @samp{Abbrev} means that
+Word Abbrev mode is on. @samp{Ovwrt} means that Overwrite mode is on.
address@hidden Modes}, for more information.
+
+ @samp{Narrow} means that the buffer being displayed has editing
+restricted to only a portion of its text. (This is not really a minor
+mode, but is like one.) @xref{Narrowing}. @samp{Def} means that a
+keyboard macro is being defined. @xref{Keyboard Macros}.
+
+ In addition, if Emacs is inside a recursive editing level, square
+brackets (@address@hidden) appear around the parentheses that
+surround the modes. If Emacs is in one recursive editing level within
+another, double square brackets appear, and so on. Since recursive
+editing levels affect Emacs globally, not just one buffer, the square
+brackets appear in every window's mode line or not in any of them.
address@hidden address@hidden
+
+ @var{cs} states the coding system used for the file you are editing.
+A dash indicates the default state of affairs: no code conversion,
+except for end-of-line translation if the file contents call for that.
address@hidden means no conversion whatsoever. Nontrivial code conversions
+are represented by various letters---for example, @samp{1} refers to ISO
+Latin-1. @xref{Coding Systems}, for more information.
+
+ On a text-only terminal, @var{cs} includes two additional characters
+which describe the coding system for keyboard input and the coding
+system for terminal output. They come right before the coding system
+used for the file you are editing.
+
+ If you are using an input method, a string of the form
address@hidden@var{i}>} is added to the beginning of @var{cs}; @var{i}
+identifies the input method. (Some input methods show @samp{+} or
address@hidden@@} instead of @samp{>}.) @xref{Input Methods}.
+
+ When multibyte characters are not enabled, @var{cs} does not appear at
+all. @xref{Enabling Multibyte}.
+
address@hidden end-of-line conversion, mode-line indication
+ The colon after @var{cs} changes to another string in some cases.
+Emacs uses newline characters to separate lines in the buffer. Some
+files use different conventions for separating lines: either
+carriage-return linefeed (the MS-DOS convention) or just
+carriage-return (the Macintosh convention). If the buffer's file uses
+carriage-return linefeed, the colon changes to either a backslash
+(@samp{\}) or @samp{(DOS)}, depending on the operating system. If the
+file uses just carriage-return, the colon indicator changes to either
+a forward slash (@samp{/}) or @samp{(Mac)}. On some systems, Emacs
+displays @samp{(Unix)} instead of the colon for files that use newline
+as the line separator.
+
+ @xref{Optional Mode Line}, to add other handy information to the
+mode line, such as the size of the buffer, the current column number
+of point, and whether new mail for you has arrived.
+
+ The mode line is mouse-sensitive; when you move the mouse across
+various parts of it, Emacs displays help text to say what a click in
+that place will do. @xref{Mode Line Mouse}.
+
address@hidden Menu Bar
address@hidden The Menu Bar
address@hidden menu bar
+
+ Each Emacs frame normally has a @dfn{menu bar} at the top which you
+can use to perform common operations. There's no need to list them
+here, as you can more easily see them yourself.
+
address@hidden M-`
address@hidden F10
address@hidden tmm-menubar
address@hidden menu-bar-open
+ On a graphical display, you can use the mouse to choose a command
+from the menu bar. A right-arrow at the end of the menu item means it
+leads to a subsidiary menu; @samp{...} at the end means that the
+command invoked will read arguments (further input from you) before it
+actually does anything.
+
+ You can also invoke the first menu bar item by pressing @key{F10} (to run
+the command @code{menu-bar-open}). You can then navigate the menus with
+the arrow keys. You select an item by pressing @key{RET} and cancel menu
+navigation with @key{ESC}.
+
+ To view the full command name and documentation for a menu item, type
address@hidden k}, and then select the menu bar with the mouse in the usual
+way (@pxref{Key Help}).
+
+ On text-only terminals with no mouse, you can use the menu bar by
+typing @kbd{M-`} or @key{F10} (these run the command
address@hidden). This lets you select a menu item with the
+keyboard. A provisional choice appears in the echo area. You can use
+the up and down arrow keys to move through the menu to different
+items, and then you can type @key{RET} to select the item.
+
+ Each menu item also has an assigned letter or digit which designates
+that item; it is usually the initial of some word in the item's name.
+This letter or digit is separated from the item name by @samp{=>}. You
+can type the item's letter or digit to select the item.
+
+ Some of the commands in the menu bar have ordinary key bindings as
+well; one such binding is shown in parentheses after the item itself.
+
address@hidden
+ arch-tag: 104ba40e-d972-4866-a542-a98be94bdf2f
address@hidden ignore