Mercurial > emacs
annotate man/buffers.texi @ 82453:d04e217671f9
(ada-create-syntax-table): Move
set-syntax-table from here to ...
(ada-mode): ... here. Do not change global value of
comment-multi-line. Call new function
ada-initialize-syntax-table-properties and add new function
ada-handle-syntax-table-properties to font-lock-mode-hook.
(ada-deactivate-properties, ada-initialize-properties): Replace
by new functions ...
(ada-handle-syntax-table-properties)
(ada-initialize-syntax-table-properties)
(ada-set-syntax-table-properties): ... to set up syntax-table
properties uniformly, independently from whether font-lock-mode
is enabled or not. Handle read-only buffers and do not change
undo-list when setting syntax-table properties.
(ada-after-change-function): Use ada-set-syntax-table-properties.
author | Martin Rudalics <rudalics@gmx.at> |
---|---|
date | Sat, 18 Aug 2007 08:37:41 +0000 |
parents | 4805684e0b00 |
children | 02b9a9aa5b0c e6fdae9180d4 |
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:
62484
diff
changeset
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, |
75348 | 3 @c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
25829 | 4 @c See file emacs.texi for copying conditions. |
5 @node Buffers, Windows, Files, Top | |
6 @chapter Using Multiple Buffers | |
7 | |
8 @cindex buffers | |
9 The text you are editing in Emacs resides in an object called a | |
10 @dfn{buffer}. Each time you visit a file, a buffer is created to hold the | |
11 file's text. Each time you invoke Dired, a buffer is created to hold the | |
12 directory listing. If you send a message with @kbd{C-x m}, a buffer named | |
13 @samp{*mail*} is used to hold the text of the message. When you ask for a | |
14 command's documentation, that appears in a buffer called @samp{*Help*}. | |
15 | |
16 @cindex selected buffer | |
17 @cindex current buffer | |
37987
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
18 At any time, one and only one buffer is @dfn{current}. It is also |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
19 called the @dfn{selected buffer}. Often we say that a command operates on |
25829 | 20 ``the buffer'' as if there were only one; but really this means that the |
37987
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
21 command operates on the current buffer (most commands do). |
25829 | 22 |
37121 | 23 When Emacs has multiple windows, each window has its own chosen |
24 buffer and displays it; at any time, only one of the windows is | |
37987
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
25 selected, and its chosen buffer is the current buffer. Each window's |
37121 | 26 mode line normally displays the name of the window's chosen buffer |
27 (@pxref{Windows}). | |
25829 | 28 |
29 Each buffer has a name, which can be of any length, and you can select | |
30 any buffer by giving its name. Most buffers are made by visiting files, | |
31 and their names are derived from the files' names. But you can also create | |
32 an empty buffer with any name you want. A newly started Emacs has a buffer | |
33 named @samp{*scratch*} which can be used for evaluating Lisp expressions in | |
34 Emacs. The distinction between upper and lower case matters in buffer | |
35 names. | |
36 | |
37 Each buffer records individually what file it is visiting, whether it is | |
38 modified, and what major mode and minor modes are in effect in it | |
39 (@pxref{Major Modes}). Any Emacs variable can be made @dfn{local to} a | |
40 particular buffer, meaning its value in that buffer can be different from | |
41 the value in other buffers. @xref{Locals}. | |
42 | |
37794
7a3c8aa0ba51
(Buffers): Document the maximum buffer size.
Eli Zaretskii <eliz@gnu.org>
parents:
37773
diff
changeset
|
43 @cindex buffer size, maximum |
7a3c8aa0ba51
(Buffers): Document the maximum buffer size.
Eli Zaretskii <eliz@gnu.org>
parents:
37773
diff
changeset
|
44 A buffer's size cannot be larger than some maximum, which is defined |
37821 | 45 by the largest buffer position representable by the @dfn{Emacs integer} |
46 data type. This is because Emacs tracks buffer positions using that | |
56744
c2bec3c79554
(Buffers): Maximum buffer size is now 256M on 32-bit machines.
Luc Teirlinck <teirllm@auburn.edu>
parents:
54378
diff
changeset
|
47 data type. For 32-bit machines, the largest buffer size is 256 |
37821 | 48 megabytes. |
37794
7a3c8aa0ba51
(Buffers): Document the maximum buffer size.
Eli Zaretskii <eliz@gnu.org>
parents:
37773
diff
changeset
|
49 |
25829 | 50 @menu |
51 * Select Buffer:: Creating a new buffer or reselecting an old one. | |
52 * List Buffers:: Getting a list of buffers that exist. | |
53 * Misc Buffer:: Renaming; changing read-onlyness; copying text. | |
54 * Kill Buffer:: Killing buffers you no longer need. | |
55 * Several Buffers:: How to go through the list of all buffers | |
56 and operate variously on several of them. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46457
diff
changeset
|
57 * Indirect Buffers:: An indirect buffer shares the text of another buffer. |
30869 | 58 * Buffer Convenience:: Convenience and customization features for |
59 buffer handling. | |
25829 | 60 @end menu |
61 | |
62 @node Select Buffer | |
63 @section Creating and Selecting Buffers | |
64 @cindex change buffers | |
65 @cindex switch buffers | |
66 | |
67 @table @kbd | |
68 @item C-x b @var{buffer} @key{RET} | |
69 Select or create a buffer named @var{buffer} (@code{switch-to-buffer}). | |
70 @item C-x 4 b @var{buffer} @key{RET} | |
71 Similar, but select @var{buffer} in another window | |
72 (@code{switch-to-buffer-other-window}). | |
73 @item C-x 5 b @var{buffer} @key{RET} | |
74 Similar, but select @var{buffer} in a separate frame | |
75 (@code{switch-to-buffer-other-frame}). | |
67742
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
76 @item C-x @key{LEFT} |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
77 Select the previous buffer in the list of existing buffers. |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
78 @item C-x @key{RIGHT} |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
79 Select the next buffer in the list of existing buffers. |
62484
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
80 @item C-u M-g M-g |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
81 @itemx C-u M-g g |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
82 Read a number @var{n} and move to line @var{n} in the most recently |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
83 selected buffer other than the current buffer. |
25829 | 84 @end table |
85 | |
86 @kindex C-x b | |
87 @findex switch-to-buffer | |
88 To select the buffer named @var{bufname}, type @kbd{C-x b @var{bufname} | |
89 @key{RET}}. This runs the command @code{switch-to-buffer} with argument | |
68547 | 90 @var{bufname}. You can use completion to enter the buffer |
91 name (@pxref{Completion}). An empty argument to @kbd{C-x b} | |
37987
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
92 specifies the buffer that was current most recently among those not |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
93 now displayed in any window. |
25829 | 94 |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
95 @kindex C-x @key{LEFT} |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
96 @kindex C-x @key{RIGHT} |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
97 @findex next-buffer |
67603
589ce7251c9c
* buffers.texi (Select Buffer): Change `prev-buffer' to
Károly Lőrentey <lorentey@elte.hu>
parents:
66581
diff
changeset
|
98 @findex previous-buffer |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
99 For conveniently switching between a few buffers, use the commands |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
100 @kbd{C-x @key{LEFT}} and @kbd{C-x @key{RIGHT}}. @kbd{C-x @key{RIGHT}} |
67603
589ce7251c9c
* buffers.texi (Select Buffer): Change `prev-buffer' to
Károly Lőrentey <lorentey@elte.hu>
parents:
66581
diff
changeset
|
101 (@code{previous-buffer}) selects the previous buffer (following the order |
589ce7251c9c
* buffers.texi (Select Buffer): Change `prev-buffer' to
Károly Lőrentey <lorentey@elte.hu>
parents:
66581
diff
changeset
|
102 of most recent selection in the current frame), while @kbd{C-x @key{LEFT}} |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
103 (@code{next-buffer}) moves through buffers in the reverse direction. |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
104 |
37773
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
105 @kindex C-x 4 b |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
106 @findex switch-to-buffer-other-window |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
107 @vindex even-window-heights |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
108 To select a buffer in a window other than the current one, type |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
109 @kbd{C-x 4 b @var{bufname} @key{RET}}. This runs the command |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
110 @code{switch-to-buffer-other-window} which displays the buffer |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
111 @var{bufname} in another window. By default, if displaying the buffer |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
112 causes two vertically adjacent windows to be displayed, the heights of |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
113 those windows are evened out; to countermand that and preserve the |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
114 window configuration, set the variable @code{even-window-heights} to |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
115 @code{nil}. |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
116 |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
117 @kindex C-x 5 b |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
118 @findex switch-to-buffer-other-frame |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
119 Similarly, @kbd{C-x 5 b @var{buffer} @key{RET}} runs the command |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
120 @code{switch-to-buffer-other-frame} which selects a buffer in another |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
121 frame. |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
122 |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
123 @vindex display-buffer-reuse-frames |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
124 You can control how certain buffers are handled by these commands by |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
125 customizing the variables @code{special-display-buffer-names}, |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
126 @code{special-display-regexps}, @code{same-window-buffer-names}, and |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
127 @code{same-window-regexps}. See @ref{Force Same Window}, and |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
128 @ref{Special Buffer Frames}, for more about these variables. In |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
129 addition, if the value of @code{display-buffer-reuse-frames} is |
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
130 non-@code{nil}, and the buffer you want to switch to is already |
68547 | 131 displayed in some frame, Emacs will just raise that frame. |
37773
9b4454d43e72
(Select Buffer): Document even-window-heights and
Eli Zaretskii <eliz@gnu.org>
parents:
37121
diff
changeset
|
132 |
25829 | 133 Most buffers are created by visiting files, or by Emacs commands that |
134 want to display some text, but you can also create a buffer explicitly | |
135 by typing @kbd{C-x b @var{bufname} @key{RET}}. This makes a new, empty | |
136 buffer that is not visiting any file, and selects it for editing. Such | |
137 buffers are used for making notes to yourself. If you try to save one, | |
138 you are asked for the file name to use. The new buffer's major mode is | |
139 determined by the value of @code{default-major-mode} (@pxref{Major | |
140 Modes}). | |
141 | |
142 Note that @kbd{C-x C-f}, and any other command for visiting a file, | |
143 can also be used to switch to an existing file-visiting buffer. | |
144 @xref{Visiting}. | |
145 | |
62484
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
146 @kbd{C-u M-g M-g}, that is @code{goto-line} with a prefix argument |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
147 of just @kbd{C-u}, reads a number @var{n} using the minibuffer, |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
148 selects the most recently selected buffer other than the current |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
149 buffer in another window, and then moves point to the beginning of |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
150 line number @var{n} in that buffer. This is mainly useful in a buffer |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
151 that refers to line numbers in another buffer: if point is on or just |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
152 after a number, @code{goto-line} uses that number as the default for |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
153 @var{n}. Note that prefix arguments other than just @kbd{C-u} behave |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
154 differently. @kbd{C-u 4 M-g M-g} goes to line 4 in the @emph{current} |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
155 buffer, without reading a number from the minibuffer. (Remember that |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
156 @kbd{M-g M-g} without prefix argument reads a number @var{n} and then |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
157 moves to line number @var{n} in the current buffer.) |
f13767c26b95
(Select Buffer): Document `C-u M-g M-g'.
Luc Teirlinck <teirllm@auburn.edu>
parents:
59884
diff
changeset
|
158 |
25829 | 159 Emacs uses buffer names that start with a space for internal purposes. |
160 It treats these buffers specially in minor ways---for example, by | |
161 default they do not record undo information. It is best to avoid using | |
162 such buffer names yourself. | |
163 | |
164 @node List Buffers | |
165 @section Listing Existing Buffers | |
166 | |
167 @table @kbd | |
168 @item C-x C-b | |
169 List the existing buffers (@code{list-buffers}). | |
170 @end table | |
171 | |
172 @cindex listing current buffers | |
173 @kindex C-x C-b | |
174 @findex list-buffers | |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
175 To display a list of existing buffers, type @kbd{C-x C-b}. Each |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
176 line in the list shows one buffer's name, major mode and visited file. |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
177 The buffers are listed in the order that they were current; the |
25829 | 178 buffers that were current most recently come first. |
179 | |
68547 | 180 @samp{*} in the first field of a line indicates the buffer is |
181 ``modified.'' If several buffers are modified, it may be time to save | |
182 some with @kbd{C-x s} (@pxref{Save Commands}). @samp{%} indicates a | |
183 read-only buffer. @samp{.} marks the current buffer. Here is an | |
184 example of a buffer list:@refill | |
25829 | 185 |
186 @smallexample | |
52041
188c9747f9bb
(List Buffers): Fix spacing in header line of example.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
52039
diff
changeset
|
187 CRM Buffer Size Mode File |
52039
c9680db50e88
(List Buffers): Fix previous change.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
51900
diff
changeset
|
188 . * .emacs 3294 Emacs-Lisp ~/.emacs |
c9680db50e88
(List Buffers): Fix previous change.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
51900
diff
changeset
|
189 % *Help* 101 Help |
51900
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
190 search.c 86055 C ~/cvs/emacs/src/search.c |
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
191 % src 20959 Dired by name ~/cvs/emacs/src/ |
52039
c9680db50e88
(List Buffers): Fix previous change.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
51900
diff
changeset
|
192 * *mail* 42 Mail |
51900
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
193 % HELLO 1607 Fundamental ~/cvs/emacs/etc/HELLO |
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
194 % NEWS 481184 Outline ~/cvs/emacs/etc/NEWS |
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
195 *scratch* 191 Lisp Interaction |
118c9a7b0a1b
(List Buffers): Adjust to new format of *Buffer List*.
Juanma Barranquero <lekktu@gmail.com>
parents:
49600
diff
changeset
|
196 * *Messages* 1554 Fundamental |
25829 | 197 @end smallexample |
198 | |
199 @noindent | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
200 Note that the buffer @samp{*Help*} was made by a help request; it is |
52039
c9680db50e88
(List Buffers): Fix previous change.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
51900
diff
changeset
|
201 not visiting any file. The buffer @code{src} was made by Dired on the |
c9680db50e88
(List Buffers): Fix previous change.
Markus Rost <rost@math.uni-bielefeld.de>
parents:
51900
diff
changeset
|
202 directory @file{~/cvs/emacs/src/}. You can list only buffers that are |
68547 | 203 visiting files by giving the command a prefix argument, as in |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
204 @kbd{C-u C-x C-b}. |
25829 | 205 |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
206 @code{list-buffers} omits buffers whose names begin with a space, |
40491
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
207 unless they visit files: such buffers are used internally by Emacs. |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
208 |
25829 | 209 @need 2000 |
210 @node Misc Buffer | |
211 @section Miscellaneous Buffer Operations | |
212 | |
213 @table @kbd | |
214 @item C-x C-q | |
46457
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
215 Toggle read-only status of buffer (@code{toggle-read-only}). |
25829 | 216 @item M-x rename-buffer @key{RET} @var{name} @key{RET} |
217 Change the name of the current buffer. | |
218 @item M-x rename-uniquely | |
219 Rename the current buffer by adding @samp{<@var{number}>} to the end. | |
220 @item M-x view-buffer @key{RET} @var{buffer} @key{RET} | |
221 Scroll through buffer @var{buffer}. | |
222 @end table | |
223 | |
224 @kindex C-x C-q | |
225 @vindex buffer-read-only | |
226 @cindex read-only buffer | |
227 A buffer can be @dfn{read-only}, which means that commands to change | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
228 its contents are not allowed. The mode line indicates read-only |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
229 buffers with @samp{%%} or @samp{%*} near the left margin. Read-only |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
230 buffers are usually made by subsystems such as Dired and Rmail that |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
231 have special commands to operate on the text; also by visiting a file |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
232 whose access control says you cannot write it. |
25829 | 233 |
46457
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
234 @findex toggle-read-only |
25829 | 235 If you wish to make changes in a read-only buffer, use the command |
46457
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
236 @kbd{C-x C-q} (@code{toggle-read-only}). It makes a read-only buffer |
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
237 writable, and makes a writable buffer read-only. This |
25829 | 238 works by setting the variable @code{buffer-read-only}, which has a local |
239 value in each buffer and makes the buffer read-only if its value is | |
46457
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
240 non-@code{nil}. If you have files under version control, you may find |
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
241 it convenient to bind @kbd{C-x C-q} to @code{vc-toggle-read-only} |
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
242 instead. Then, typing @kbd{C-x C-q} not only changes the read-only |
1649dc94d8df
Let C-x C-q refer to toggle-read-only, not vc-toggle-read-only.
André Spiegel <spiegel@gnu.org>
parents:
40616
diff
changeset
|
243 flag, but it also checks the file in or out. @xref{Version |
25829 | 244 Control}. |
245 | |
246 @findex rename-buffer | |
68547 | 247 @kbd{M-x rename-buffer} changes the name of the current buffer. You |
248 specify the new name as a minibuffer argument; there is no default. | |
249 If you specify a name that is in use for some other buffer, an error | |
250 happens and no renaming is done. | |
25829 | 251 |
54378
3577d1f9f73a
(Misc Buffer): Add index entry for rename-uniquely.
Richard M. Stallman <rms@gnu.org>
parents:
54270
diff
changeset
|
252 @findex rename-uniquely |
54270
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
253 @kbd{M-x rename-uniquely} renames the current buffer to a similar |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
254 name with a numeric suffix added to make it both different and unique. |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
255 This command does not need an argument. It is useful for creating |
66581
fc256e77595d
* files.texi (Compressed Files): Fix typo.
Romain Francoise <romain@orebokech.com>
parents:
65536
diff
changeset
|
256 multiple shell buffers: if you rename the @samp{*shell*} buffer, then |
54270
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
257 do @kbd{M-x shell} again, it makes a new shell buffer named |
66581
fc256e77595d
* files.texi (Compressed Files): Fix typo.
Romain Francoise <romain@orebokech.com>
parents:
65536
diff
changeset
|
258 @samp{*shell*}; meanwhile, the old shell buffer continues to exist |
54270
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
259 under its new name. This method is also good for mail buffers, |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
260 compilation buffers, and most Emacs features that create special |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
261 buffers with particular names. (With some of these features, such as |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
262 @kbd{M-x compile}, @kbd{M-x grep} an @kbd{M-x info}, you need to |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
263 switch to some other buffer before using the command, in order for it |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
264 to make a different buffer.) |
25829 | 265 |
266 @findex view-buffer | |
267 @kbd{M-x view-buffer} is much like @kbd{M-x view-file} (@pxref{Misc | |
268 File Ops}) except that it examines an already existing Emacs buffer. | |
269 View mode provides commands for scrolling through the buffer | |
270 conveniently but not for changing it. When you exit View mode with | |
271 @kbd{q}, that switches back to the buffer (and the position) which was | |
272 previously displayed in the window. Alternatively, if you exit View | |
273 mode with @kbd{e}, the buffer and the value of point that resulted from | |
274 your perusal remain in effect. | |
275 | |
276 The commands @kbd{M-x append-to-buffer} and @kbd{M-x insert-buffer} | |
277 can be used to copy text from one buffer to another. @xref{Accumulating | |
68547 | 278 Text}. |
25829 | 279 |
280 @node Kill Buffer | |
281 @section Killing Buffers | |
282 | |
283 @cindex killing buffers | |
284 If you continue an Emacs session for a while, you may accumulate a | |
285 large number of buffers. You may then find it convenient to @dfn{kill} | |
286 the buffers you no longer need. On most operating systems, killing a | |
287 buffer releases its space back to the operating system so that other | |
288 programs can use it. Here are some commands for killing buffers: | |
289 | |
290 @table @kbd | |
291 @item C-x k @var{bufname} @key{RET} | |
292 Kill buffer @var{bufname} (@code{kill-buffer}). | |
293 @item M-x kill-some-buffers | |
294 Offer to kill each buffer, one by one. | |
295 @end table | |
296 | |
297 @findex kill-buffer | |
298 @findex kill-some-buffers | |
299 @kindex C-x k | |
300 | |
301 @kbd{C-x k} (@code{kill-buffer}) kills one buffer, whose name you | |
37987
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
302 specify in the minibuffer. The default, used if you type just |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
303 @key{RET} in the minibuffer, is to kill the current buffer. If you |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
304 kill the current buffer, another buffer becomes current: one that was |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
305 current in the recent past but is not displayed in any window now. If |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
306 you ask to kill a file-visiting buffer that is modified (has unsaved |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
307 editing), then you must confirm with @kbd{yes} before the buffer is |
39cfe73648c8
selected buffer <=> current buffer.
Richard M. Stallman <rms@gnu.org>
parents:
37821
diff
changeset
|
308 killed. |
25829 | 309 |
310 The command @kbd{M-x kill-some-buffers} asks about each buffer, one by | |
311 one. An answer of @kbd{y} means to kill the buffer. Killing the current | |
312 buffer or a buffer containing unsaved changes selects a new buffer or asks | |
313 for confirmation just like @code{kill-buffer}. | |
314 | |
315 The buffer menu feature (@pxref{Several Buffers}) is also convenient | |
316 for killing various buffers. | |
317 | |
318 @vindex kill-buffer-hook | |
319 If you want to do something special every time a buffer is killed, you | |
320 can add hook functions to the hook @code{kill-buffer-hook} (@pxref{Hooks}). | |
321 | |
322 @findex clean-buffer-list | |
323 If you run one Emacs session for a period of days, as many people do, | |
324 it can fill up with buffers that you used several days ago. The command | |
325 @kbd{M-x clean-buffer-list} is a convenient way to purge them; it kills | |
326 all the unmodified buffers that you have not used for a long time. An | |
327 ordinary buffer is killed if it has not been displayed for three days; | |
328 however, you can specify certain buffers that should never be killed | |
329 automatically, and others that should be killed if they have been unused | |
330 for a mere hour. | |
331 | |
332 @cindex Midnight mode | |
333 @vindex midnight-mode | |
334 @vindex midnight-hook | |
335 You can also have this buffer purging done for you, every day at | |
336 midnight, by enabling Midnight mode. Midnight mode operates each day at | |
337 midnight; at that time, it runs @code{clean-buffer-list}, or whichever | |
338 functions you have placed in the normal hook @code{midnight-hook} | |
339 (@pxref{Hooks}). | |
340 | |
341 To enable Midnight mode, use the Customization buffer to set the | |
342 variable @code{midnight-mode} to @code{t}. @xref{Easy Customization}. | |
343 | |
344 @node Several Buffers | |
345 @section Operating on Several Buffers | |
346 @cindex buffer menu | |
347 | |
348 The @dfn{buffer-menu} facility is like a ``Dired for buffers''; it allows | |
349 you to request operations on various Emacs buffers by editing an Emacs | |
350 buffer containing a list of them. You can save buffers, kill them | |
351 (here called @dfn{deleting} them, for consistency with Dired), or display | |
352 them. | |
353 | |
354 @table @kbd | |
355 @item M-x buffer-menu | |
356 Begin editing a buffer listing all Emacs buffers. | |
40491
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
357 @item M-x buffer-menu-other-window. |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
358 Similar, but do it in another window. |
25829 | 359 @end table |
360 | |
361 @findex buffer-menu | |
40491
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
362 @findex buffer-menu-other-window |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
363 The command @code{buffer-menu} writes a list of all Emacs |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
364 buffers@footnote{Buffers which don't visit files and whose names begin |
40616
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
365 with a space are omitted: these are used internally by Emacs.} into the |
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
366 buffer @samp{*Buffer List*}, and selects that buffer in Buffer Menu |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
367 mode. |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
368 |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
369 The buffer is read-only, and can be |
40616
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
370 changed only through the special commands described in this section. |
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
371 The usual Emacs cursor motion commands can be used in the @samp{*Buffer |
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
372 List*} buffer. The following commands apply to the buffer described on |
bcf374d89a4d
(Several Buffers): Add a cross-reference to the description of the
Eli Zaretskii <eliz@gnu.org>
parents:
40491
diff
changeset
|
373 the current line. |
25829 | 374 |
375 @table @kbd | |
376 @item d | |
377 Request to delete (kill) the buffer, then move down. The request | |
378 shows as a @samp{D} on the line, before the buffer name. Requested | |
379 deletions take place when you type the @kbd{x} command. | |
380 @item C-d | |
381 Like @kbd{d} but move up afterwards instead of down. | |
382 @item s | |
383 Request to save the buffer. The request shows as an @samp{S} on the | |
384 line. Requested saves take place when you type the @kbd{x} command. | |
385 You may request both saving and deletion for the same buffer. | |
386 @item x | |
387 Perform previously requested deletions and saves. | |
388 @item u | |
389 Remove any request made for the current line, and move down. | |
390 @item @key{DEL} | |
391 Move to previous line and remove any request made for that line. | |
392 @end table | |
393 | |
394 The @kbd{d}, @kbd{C-d}, @kbd{s} and @kbd{u} commands to add or remove | |
395 flags also move down (or up) one line. They accept a numeric argument | |
396 as a repeat count. | |
397 | |
398 These commands operate immediately on the buffer listed on the current | |
399 line: | |
400 | |
401 @table @kbd | |
402 @item ~ | |
403 Mark the buffer ``unmodified.'' The command @kbd{~} does this | |
404 immediately when you type it. | |
405 @item % | |
406 Toggle the buffer's read-only flag. The command @kbd{%} does | |
407 this immediately when you type it. | |
408 @item t | |
409 Visit the buffer as a tags table. @xref{Select Tags Table}. | |
410 @end table | |
411 | |
412 There are also commands to select another buffer or buffers: | |
413 | |
414 @table @kbd | |
415 @item q | |
416 Quit the buffer menu---immediately display the most recent formerly | |
417 visible buffer in its place. | |
418 @item @key{RET} | |
419 @itemx f | |
420 Immediately select this line's buffer in place of the @samp{*Buffer | |
421 List*} buffer. | |
422 @item o | |
423 Immediately select this line's buffer in another window as if by | |
424 @kbd{C-x 4 b}, leaving @samp{*Buffer List*} visible. | |
425 @item C-o | |
426 Immediately display this line's buffer in another window, but don't | |
427 select the window. | |
428 @item 1 | |
429 Immediately select this line's buffer in a full-screen window. | |
430 @item 2 | |
56744
c2bec3c79554
(Buffers): Maximum buffer size is now 256M on 32-bit machines.
Luc Teirlinck <teirllm@auburn.edu>
parents:
54378
diff
changeset
|
431 Immediately set up two windows, with this line's buffer selected in |
c2bec3c79554
(Buffers): Maximum buffer size is now 256M on 32-bit machines.
Luc Teirlinck <teirllm@auburn.edu>
parents:
54378
diff
changeset
|
432 one, and the previously current buffer (aside from the buffer |
c2bec3c79554
(Buffers): Maximum buffer size is now 256M on 32-bit machines.
Luc Teirlinck <teirllm@auburn.edu>
parents:
54378
diff
changeset
|
433 @samp{*Buffer List*}) displayed in the other. |
25829 | 434 @item b |
435 Bury the buffer listed on this line. | |
436 @item m | |
437 Mark this line's buffer to be displayed in another window if you exit | |
438 with the @kbd{v} command. The request shows as a @samp{>} at the | |
439 beginning of the line. (A single buffer may not have both a delete | |
440 request and a display request.) | |
441 @item v | |
442 Immediately select this line's buffer, and also display in other windows | |
443 any buffers previously marked with the @kbd{m} command. If you have not | |
444 marked any buffers, this command is equivalent to @kbd{1}. | |
445 @end table | |
446 | |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
447 There is also a command that affects the entire buffer list: |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
448 |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
449 @table @kbd |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
450 @item T |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
451 Delete, or reinsert, lines for non-file buffers. This command toggles |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
452 the inclusion of such buffers in the buffer list. |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
453 @end table |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
454 |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
455 What @code{buffer-menu} actually does is create and switch to a |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
456 suitable buffer, and turn on Buffer Menu mode in it. Everything else |
25829 | 457 described above is implemented by the special commands provided in |
458 Buffer Menu mode. One consequence of this is that you can switch from | |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
459 the @samp{*Buffer List*} buffer to another Emacs buffer, and edit |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
460 there. You can reselect the @samp{*Buffer List*} buffer later, to |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
461 perform the operations already requested, or you can kill it, or pay |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
462 no further attention to it. |
25829 | 463 |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
464 The list in the @samp{*Buffer List*} buffer looks exactly like the |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
465 buffer list described in @ref{List Buffers}, because they really are |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
466 the same. The only difference between @code{buffer-menu} and |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
467 @code{list-buffers} is that @code{buffer-menu} switches to the |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
468 @samp{*Buffer List*} buffer in the selected window; |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
469 @code{list-buffers} displays the same buffer in another window. If |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
470 you run @code{list-buffers} (that is, type @kbd{C-x C-b}) and select |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
471 the buffer list manually, you can use all of the commands described |
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
472 here. |
25829 | 473 |
68547 | 474 Normally, the buffer @samp{*Buffer List*} is not updated |
475 automatically when buffers are created and killed; its contents are | |
476 just text. If you have created, deleted or renamed buffers, the way | |
477 to update @samp{*Buffer List*} to show what you have done is to type | |
478 @kbd{g} (@code{revert-buffer}). You can make this happen regularly | |
479 every @code{auto-revert-interval} seconds if you enable Auto Revert | |
480 mode in this buffer, as long as it is not marked modified. Global | |
481 Auto Revert mode applies to the @samp{*Buffer List*} buffer only if | |
482 @code{global-auto-revert-non-file-buffers} is non-@code{nil}. | |
70447
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
483 @iftex |
70630
69ce7ff6d07b
[iftex]: Replace @xref's to emacs-xtra with @inforef's.
Eli Zaretskii <eliz@gnu.org>
parents:
70472
diff
changeset
|
484 @inforef{Autorevert,, emacs-xtra}, for details. |
70447
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
485 @end iftex |
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
486 @ifnottex |
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
487 @xref{Autorevert, global-auto-revert-non-file-buffers}, for details. |
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
488 @end ifnottex |
9110c38cd1d0
(Several Buffers): Replace inforef to emacs-xtra by conditional xref's,
Eli Zaretskii <eliz@gnu.org>
parents:
68639
diff
changeset
|
489 |
56744
c2bec3c79554
(Buffers): Maximum buffer size is now 256M on 32-bit machines.
Luc Teirlinck <teirllm@auburn.edu>
parents:
54378
diff
changeset
|
490 |
40491
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
491 The command @code{buffer-menu-other-window} works the same as |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
492 @code{buffer-menu}, except that it displays the buffers list in |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
493 another window. |
4ce165b55ef1
(List Buffers, Several Buffers): Document that internal buffers are
Eli Zaretskii <eliz@gnu.org>
parents:
39264
diff
changeset
|
494 |
25829 | 495 @node Indirect Buffers |
496 @section Indirect Buffers | |
497 @cindex indirect buffer | |
498 @cindex base buffer | |
499 | |
500 An @dfn{indirect buffer} shares the text of some other buffer, which | |
501 is called the @dfn{base buffer} of the indirect buffer. In some ways it | |
502 is the analogue, for buffers, of a symbolic link between files. | |
503 | |
504 @table @kbd | |
505 @findex make-indirect-buffer | |
36455
0f5618d75b4a
(Indirect Buffers): Add a @key[RET}.
Gerd Moellmann <gerd@gnu.org>
parents:
36263
diff
changeset
|
506 @item M-x make-indirect-buffer @key{RET} @var{base-buffer} @key{RET} @var{indirect-name} @key{RET} |
25829 | 507 Create an indirect buffer named @var{indirect-name} whose base buffer |
508 is @var{base-buffer}. | |
31056
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
509 @findex clone-indirect-buffer |
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
510 @item M-x clone-indirect-buffer @key{RET} |
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
511 Create an indirect buffer that is a twin copy of the current buffer. |
36884 | 512 @item C-x 4 c |
31056
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
513 @kindex C-x 4 c |
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
514 @findex clone-indirect-buffer-other-window |
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
515 Create an indirect buffer that is a twin copy of the current buffer, and |
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
516 select it in another window (@code{clone-indirect-buffer-other-window}). |
25829 | 517 @end table |
518 | |
519 The text of the indirect buffer is always identical to the text of its | |
520 base buffer; changes made by editing either one are visible immediately | |
521 in the other. But in all other respects, the indirect buffer and its | |
522 base buffer are completely separate. They have different names, | |
523 different values of point, different narrowing, different markers, | |
524 different major modes, and different local variables. | |
525 | |
526 An indirect buffer cannot visit a file, but its base buffer can. If | |
527 you try to save the indirect buffer, that actually works by saving the | |
528 base buffer. Killing the base buffer effectively kills the indirect | |
529 buffer, but killing an indirect buffer has no effect on its base buffer. | |
530 | |
531 One way to use indirect buffers is to display multiple views of an | |
532 outline. @xref{Outline Views}. | |
30869 | 533 |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
534 A quick and handy way to make an indirect buffer is with the command |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
535 @kbd{M-x clone-indirect-buffer}. It creates and selects an indirect |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
536 buffer whose base buffer is the current buffer. With a numeric |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
537 argument, it prompts for the name of the indirect buffer; otherwise it |
67742
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
538 uses the name of the current buffer, with a @samp{<@var{n}>} suffix |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
539 added. @kbd{C-x 4 c} (@code{clone-indirect-buffer-other-window}) |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
540 works like @kbd{M-x clone-indirect-buffer}, but it selects the new |
3dc88cb2b76a
(Select Buffer): Change order in table to make "Similar" refer to the
Luc Teirlinck <teirllm@auburn.edu>
parents:
67603
diff
changeset
|
541 buffer in another window. |
31056
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
542 |
54270
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
543 The more general way to make an indirect buffer is with the command |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
544 @kbd{M-x make-indirect-buffer}. It creates an indirect buffer from |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
545 buffer @var{base-buffer}, under the name @var{indirect-name}. It |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
546 prompts for both @var{base-buffer} and @var{indirect-name} using the |
3f4d59c8c90d
(Misc Buffer): Explain use of M-x rename-uniquely
Richard M. Stallman <rms@gnu.org>
parents:
52401
diff
changeset
|
547 minibuffer. |
31056
3d90d6c1f3b9
Document clone-indirect-buffer.
Eli Zaretskii <eliz@gnu.org>
parents:
30869
diff
changeset
|
548 |
30869 | 549 @node Buffer Convenience |
550 @section Convenience Features and Customization of Buffer Handling | |
551 | |
37121 | 552 This section describes several modes and features that make it more |
553 convenient to switch between buffers. | |
554 | |
30869 | 555 @menu |
59884
7e4885de870d
(Select Buffer): Doc next-buffer and prev-buffer.
Richard M. Stallman <rms@gnu.org>
parents:
56744
diff
changeset
|
556 * Uniquify:: Making buffer names unique with directory parts. |
31815 | 557 * Iswitchb:: Switching between buffers with substrings. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46457
diff
changeset
|
558 * Buffer Menus:: Configurable buffer menu. |
30869 | 559 @end menu |
560 | |
561 @node Uniquify | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
562 @subsection Making Buffer Names Unique |
30869 | 563 |
564 @cindex unique buffer names | |
565 @cindex directories in buffer names | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
566 When several buffers visit identically-named files, Emacs must give |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
567 the buffers distinct names. The usual method for making buffer names |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
568 unique adds @samp{<2>}, @samp{<3>}, etc. to the end of the buffer |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
569 names (all but one of them). |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
570 |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
571 @vindex uniquify-buffer-name-style |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
572 Other methods work by adding parts of each file's directory to the |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
573 buffer name. To select one, customize the variable |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
574 @code{uniquify-buffer-name-style} (@pxref{Easy Customization}). |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
575 |
77129 | 576 To begin with, the @code{forward} naming method includes part of the |
577 file's directory name at the beginning of the buffer name; using this | |
578 method, buffers visiting the files @file{/u/rms/tmp/Makefile} and | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
579 @file{/usr/projects/zaphod/Makefile} would be named |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
580 @samp{tmp/Makefile} and @samp{zaphod/Makefile}, respectively (instead |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
581 of @samp{Makefile} and @samp{Makefile<2>}). |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
582 |
77129 | 583 In contrast, the @code{post-forward} naming method would call the |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
584 buffers @samp{Makefile|tmp} and @samp{Makefile|zaphod}, and the |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
585 @code{reverse} naming method would call them @samp{Makefile\tmp} and |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
586 @samp{Makefile\zaphod}. The nontrivial difference between |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
587 @code{post-forward} and @code{reverse} occurs when just one directory |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
588 name is not enough to distinguish two files; then @code{reverse} puts |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
589 the directory names in reverse order, so that @file{/top/middle/file} |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
590 becomes @samp{file\middle\top}, while @code{post-forward} puts them in |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
591 forward order after the file name, as in @samp{file|top/middle}. |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
592 |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
593 Which rule to follow for putting the directory names in the buffer |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
594 name is not very important if you are going to @emph{look} at the |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
595 buffer names before you type one. But as an experienced user, if you |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
596 know the rule, you won't have to look. And then you may find that one |
68547 | 597 rule or another is easier for you to remember and apply quickly. |
30869 | 598 |
31815 | 599 @node Iswitchb |
600 @subsection Switching Between Buffers using Substrings | |
601 | |
602 @findex iswitchb-mode | |
603 @cindex Iswitchb mode | |
604 @cindex mode, Iswitchb | |
605 @kindex C-x b @r{(Iswitchb mode)} | |
606 @kindex C-x 4 b @r{(Iswitchb mode)} | |
607 @kindex C-x 5 b @r{(Iswitchb mode)} | |
608 @kindex C-x 4 C-o @r{(Iswitchb mode)} | |
609 | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
610 Iswitchb global minor mode provides convenient switching between |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
611 buffers using substrings of their names. It replaces the normal |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
612 definitions of @kbd{C-x b}, @kbd{C-x 4 b}, @kbd{C-x 5 b}, and @kbd{C-x |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
613 4 C-o} with alternative commands that are somewhat ``smarter.'' |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
614 |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
615 When one of these commands prompts you for a buffer name, you can |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
616 type in just a substring of the name you want to choose. As you enter |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
617 the substring, Iswitchb mode continuously displays a list of buffers |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
618 that match the substring you have typed. |
31815 | 619 |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
620 At any time, you can type @key{RET} to select the first buffer in |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
621 the list. So the way to select a particular buffer is to make it the |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
622 first in the list. There are two ways to do this. You can type more |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
623 of the buffer name and thus narrow down the list, excluding unwanted |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
624 buffers above the desired one. Alternatively, you can use @kbd{C-s} |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
625 and @kbd{C-r} to rotate the list until the desired buffer is first. |
31815 | 626 |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
627 @key{TAB} while entering the buffer name performs completion on the |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
628 string you have entered, based on the displayed list of buffers. |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
629 |
37121 | 630 To enable Iswitchb mode, type @kbd{M-x iswitchb-mode}, or customize |
631 the variable @code{iswitchb-mode} to @code{t} (@pxref{Easy | |
632 Customization}). | |
633 | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
634 @node Buffer Menus |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
635 @subsection Customizing Buffer Menus |
30869 | 636 |
31311 | 637 @findex bs-show |
638 @cindex buffer list, customizable | |
639 @table @kbd | |
640 @item M-x bs-show | |
641 Make a list of buffers similarly to @kbd{M-x list-buffers} but | |
642 customizable. | |
643 @end table | |
644 | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
645 @kbd{M-x bs-show} pops up a buffer list similar to the one normally |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
646 displayed by @kbd{C-x C-b} but which you can customize. If you prefer |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
647 this to the usual buffer list, you can bind this command to @kbd{C-x |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
648 C-b}. To customize this buffer list, use the @code{bs} Custom group |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
649 (@pxref{Easy Customization}). |
30869 | 650 |
31815 | 651 @findex msb-mode |
652 @cindex mode, MSB | |
653 @cindex MSB mode | |
654 @cindex buffer menu | |
655 @findex mouse-buffer-menu | |
36143
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
656 @kindex C-Down-Mouse-1 |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
657 MSB global minor mode (``MSB'' stands for ``mouse select buffer'') |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
658 provides a different and customizable mouse buffer menu which you may |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
659 prefer. It replaces the bindings of @code{mouse-buffer-menu}, |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
660 normally on @kbd{C-Down-Mouse-1}, and the menu bar buffer menu. You |
44a6f7ea121f
Major rewrite of Uniquify node and Iswitchb node.
Richard M. Stallman <rms@gnu.org>
parents:
31815
diff
changeset
|
661 can customize the menu in the @code{msb} Custom group. |
52401 | 662 |
663 @ignore | |
664 arch-tag: 08c43460-f4f4-4b43-9cb5-1ea9ad991695 | |
665 @end ignore |