Misc Buffer Buffers Several Buffers
If you continue an Emacs session for a while, you may accumulate a large number of buffers. You may then find it convenient to kill the buffers you no longer need. On most operating systems, killing a buffer releases its space back to the operating system so that other programs can use it. Here are some commands for killing buffers:
|C-x k bufname
Kill buffer bufname (
|M-x kill-some-buffers||Offer to kill each buffer, one by one.|
C-x k (
kill-buffer) kills one buffer, whose name you
specify in the minibuffer. The default, used if you type just
in the minibuffer, is to kill the current buffer. If you kill the
current buffer, another buffer is selected; one that has been selected
recently but does not appear in any window now. If you ask to kill a
file-visiting buffer that is modified (has unsaved editing), then you
must confirm with yes before the buffer is killed.
The command M-x kill-some-buffers asks about each buffer, one by
one. An answer of y means to kill the buffer. Killing the current
buffer or a buffer containing unsaved changes selects a new buffer or asks
for confirmation just like
The buffer menu feature (see Several Buffers) is also convenient for killing various buffers.
If you want to do something special every time a buffer is killed, you
can add hook functions to the hook
kill-buffer-hook (see Hooks).
If you run one Emacs session for a period of days, as many people do, it can fill up with buffers that you used several days ago. The command M-x clean-buffer-list is a convenient way to purge them; it kills all the unmodified buffers that you have not used for a long time. An ordinary buffer is killed if it has not been displayed for three days; however, you can specify certain buffers that should never be killed automatically, and others that should be killed if they have been unused for a mere hour.
You can also have this buffer purging done for you, every day at
midnight, by enabling Midnight mode. Midnight mode operates each day at
midnight; at that time, it runs
clean-buffer-list, or whichever
functions you have placed in the normal hook
To enable Midnight mode, use the Customization buffer to set the
t. See Easy Customization.