The buffer-menu facility is like a “Dired for buffers”; it allows you to request operations on various Emacs buffers by editing a buffer containing a list of them. You can save buffers, kill them (here called deleting them, for consistency with Dired), or display them.
The command buffer-menu writes a list of all Emacs buffers into
the buffer ‘*Buffer List*’, and selects that buffer in Buffer Menu
mode. The buffer is read-only. You can only change it using the special
commands described in this section. Most of the commands are graphic
characters. You can use Emacs cursor motion commands in the
‘*Buffer List*’ buffer. If the cursor is on a line describing a
buffer, the following special commands apply to that buffer:
All commands that add or remove flags to request later operations also move down a line. They accept a numeric argument as a repeat count, unless otherwise specified.
There are also special commands to use the buffer list to select another buffer, and to specify one or more other buffers for display in additional windows.
Going back between a buffer-menu buffer and other Emacs buffers is
easy. You can, for example, switch from the ‘*Buffer List*’
buffer to another Emacs buffer, and edit there. You can then reselect the
buffer-menu buffer and perform operations already
requested, or you can kill that buffer or pay no further attention to it.
All that buffer-menu does directly is create and select a
suitable buffer, and turn on Buffer Menu mode. All the other
capabilities of the buffer menu are implemented by special commands
provided in Buffer Menu mode.
The only difference between buffer-menu and list-buffers is
that buffer-menu selects the ‘*Buffer List*’ buffer and
list-buffers does not. If you run list-buffers (that is,
type C-x C-b) and select the buffer list manually, you can use all
the commands described here.