X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4081af2fef1eb00cd4a33ac5829278331713b5c0..07dfe73898a43069d9d85ef74978e3fc9509773a:/man/buffers.texi diff --git a/man/buffers.texi b/man/buffers.texi index 021d006feb..c2d2a3f76e 100644 --- a/man/buffers.texi +++ b/man/buffers.texi @@ -54,7 +54,7 @@ megabytes. * Kill Buffer:: Killing buffers you no longer need. * Several Buffers:: How to go through the list of all buffers and operate variously on several of them. -* Indirect Buffers:: An indirect buffer shares the text of another buffer. +* Indirect Buffers:: An indirect buffer shares the text of another buffer. * Buffer Convenience:: Convenience and customization features for buffer handling. @end menu @@ -146,29 +146,28 @@ Each line in the list shows one buffer's name, major mode and visited file. The buffers are listed in the order that they were current; the buffers that were current most recently come first. - @samp{*} at the beginning of a line indicates the buffer is ``modified.'' + @samp{*} in the first field of a line indicates the buffer is ``modified.'' If several buffers are modified, it may be time to save some with @kbd{C-x s} (@pxref{Saving}). @samp{%} indicates a read-only buffer. @samp{.} marks the current buffer. Here is an example of a buffer list:@refill @smallexample - MR Buffer Size Mode File - -- ------ ---- ---- ---- -.* emacs.tex 383402 Texinfo /u2/emacs/man/emacs.tex - *Help* 1287 Fundamental - files.el 23076 Emacs-Lisp /u2/emacs/lisp/files.el - % RMAIL 64042 RMAIL /u/rms/RMAIL - *% man 747 Dired /u2/emacs/man/ - net.emacs 343885 Fundamental /u/rms/net.emacs - fileio.c 27691 C /u2/emacs/src/fileio.c - NEWS 67340 Text /u2/emacs/etc/NEWS - *scratch* 0 Lisp Interaction +CRM Buffer Size Mode File +. * .emacs 3294 Emacs-Lisp ~/.emacs + % *Help* 101 Help + search.c 86055 C ~/cvs/emacs/src/search.c + % src 20959 Dired by name ~/cvs/emacs/src/ + * *mail* 42 Mail + % HELLO 1607 Fundamental ~/cvs/emacs/etc/HELLO + % NEWS 481184 Outline ~/cvs/emacs/etc/NEWS + *scratch* 191 Lisp Interaction + * *Messages* 1554 Fundamental @end smallexample @noindent Note that the buffer @samp{*Help*} was made by a help request; it is -not visiting any file. The buffer @code{man} was made by Dired on the -directory @file{/u2/emacs/man/}. You can list only buffers that are +not visiting any file. The buffer @code{src} was made by Dired on the +directory @file{~/cvs/emacs/src/}. You can list only buffers that are visiting files by giving the command a prefix; for instance, by typing @kbd{C-u C-x C-b}. @@ -181,7 +180,7 @@ unless they visit files: such buffers are used internally by Emacs. @table @kbd @item C-x C-q -Toggle read-only status of buffer (@code{vc-toggle-read-only}). +Toggle read-only status of buffer (@code{toggle-read-only}). @item M-x rename-buffer @key{RET} @var{name} @key{RET} Change the name of the current buffer. @item M-x rename-uniquely @@ -191,9 +190,6 @@ Scroll through buffer @var{buffer}. @end table @kindex C-x C-q -@c Don't index vc-toggle-read-only here, it is indexed in files.texi, -@c in the node "Basic VC Editing". -@c @findex vc-toggle-read-only @vindex buffer-read-only @cindex read-only buffer A buffer can be @dfn{read-only}, which means that commands to change @@ -203,14 +199,16 @@ buffers are usually made by subsystems such as Dired and Rmail that have special commands to operate on the text; also by visiting a file whose access control says you cannot write it. +@findex toggle-read-only If you wish to make changes in a read-only buffer, use the command -@kbd{C-x C-q} (@code{vc-toggle-read-only}). It makes a read-only buffer -writable, and makes a writable buffer read-only. In most cases, this +@kbd{C-x C-q} (@code{toggle-read-only}). It makes a read-only buffer +writable, and makes a writable buffer read-only. This works by setting the variable @code{buffer-read-only}, which has a local value in each buffer and makes the buffer read-only if its value is -non-@code{nil}. If the file is maintained with version control, -@kbd{C-x C-q} works through the version control system to change the -read-only status of the file as well as the buffer. @xref{Version +non-@code{nil}. If you have files under version control, you may find +it convenient to bind @kbd{C-x C-q} to @code{vc-toggle-read-only} +instead. Then, typing @kbd{C-x C-q} not only changes the read-only +flag, but it also checks the file in or out. @xref{Version Control}. @findex rename-buffer @@ -219,14 +217,19 @@ the new name as a minibuffer argument. There is no default. If you specify a name that is in use for some other buffer, an error happens and no renaming is done. - @kbd{M-x rename-uniquely} renames the current buffer to a similar name -with a numeric suffix added to make it both different and unique. This -command does not need an argument. It is useful for creating multiple -shell buffers: if you rename the @samp{*Shell*} buffer, then do @kbd{M-x -shell} again, it makes a new shell buffer named @samp{*Shell*}; -meanwhile, the old shell buffer continues to exist under its new name. -This method is also good for mail buffers, compilation buffers, and most -Emacs features that create special buffers with particular names. +@findex rename-uniquely + @kbd{M-x rename-uniquely} renames the current buffer to a similar +name with a numeric suffix added to make it both different and unique. +This command does not need an argument. It is useful for creating +multiple shell buffers: if you rename the @samp{*Shell*} buffer, then +do @kbd{M-x shell} again, it makes a new shell buffer named +@samp{*Shell*}; meanwhile, the old shell buffer continues to exist +under its new name. This method is also good for mail buffers, +compilation buffers, and most Emacs features that create special +buffers with particular names. (With some of these features, such as +@kbd{M-x compile}, @kbd{M-x grep} an @kbd{M-x info}, you need to +switch to some other buffer before using the command, in order for it +to make a different buffer.) @findex view-buffer @kbd{M-x view-buffer} is much like @kbd{M-x view-file} (@pxref{Misc @@ -327,12 +330,14 @@ Similar, but do it in another window. @findex buffer-menu-other-window The command @code{buffer-menu} writes a list of all Emacs buffers@footnote{Buffers which don't visit files and whose names begin -with a space are omitted: these are used internally by Emacs.} into -the buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu -mode. The buffer is read-only, and can be changed only through the -special commands described in this section. The usual Emacs cursor -motion commands can be used in the @samp{*Buffer List*} buffer. The -following commands apply to the buffer described on the current line. +with a space are omitted: these are used internally by Emacs.} into the +buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu +mode. The list in the @samp{*Buffer List*} buffer looks exactly as +described in @ref{List Buffers}. The buffer is read-only, and can be +changed only through the special commands described in this section. +The usual Emacs cursor motion commands can be used in the @samp{*Buffer +List*} buffer. The following commands apply to the buffer described on +the current line. @table @kbd @item d @@ -471,22 +476,21 @@ buffer, but killing an indirect buffer has no effect on its base buffer. One way to use indirect buffers is to display multiple views of an outline. @xref{Outline Views}. -@cindex multiple @samp{*info*} and @samp{*Help*} buffers A quick and handy way to make an indirect buffer is with the command @kbd{M-x clone-indirect-buffer}. It creates and selects an indirect buffer whose base buffer is the current buffer. With a numeric argument, it prompts for the name of the indirect buffer; otherwise it defaults to the name of the current buffer, modifying it by adding a -@samp{<@var{n}>} prefix if required. @kbd{C-x 4 c} +@samp{<@var{n}>} suffix if required. @kbd{C-x 4 c} (@code{clone-indirect-buffer-other-window}) works like @kbd{M-x -clone-indirect-buffer}, but it selects the cloned buffer in another -window. These commands come in handy if you want to create new -@samp{*info*} or @samp{*Help*} buffers, for example. +clone-indirect-buffer}, but it selects the new buffer in another +window. - The more general way is with the command @kbd{M-x -make-indirect-buffer}. It creates an indirect buffer from buffer -@var{base-buffer}, under the name @var{indirect-name}. It prompts for -both @var{base-buffer} and @var{indirect-name} using the minibuffer. + The more general way to make an indirect buffer is with the command +@kbd{M-x make-indirect-buffer}. It creates an indirect buffer from +buffer @var{base-buffer}, under the name @var{indirect-name}. It +prompts for both @var{base-buffer} and @var{indirect-name} using the +minibuffer. @node Buffer Convenience @section Convenience Features and Customization of Buffer Handling @@ -497,7 +501,7 @@ convenient to switch between buffers. @menu * Uniquify:: Buffer names can contain directory parts. * Iswitchb:: Switching between buffers with substrings. -* Buffer Menus:: Configurable buffer menu. +* Buffer Menus:: Configurable buffer menu. @end menu @node Uniquify @@ -601,3 +605,7 @@ provides a different and customizable mouse buffer menu which you may prefer. It replaces the bindings of @code{mouse-buffer-menu}, normally on @kbd{C-Down-Mouse-1}, and the menu bar buffer menu. You can customize the menu in the @code{msb} Custom group. + +@ignore + arch-tag: 08c43460-f4f4-4b43-9cb5-1ea9ad991695 +@end ignore