For those who doesn’t know it, Ibuffer is an replacement for BufferMenu, which is a buffer showing, à la Dired, all currently open buffers. Ibuffer allows you to easily filter, group and operate over the buffers, which is quite useful. It’s included by default on any version greater than 22.
You can directly invoke it using
M-x ibuffer, or make it replace BufferMenu by setting the appropriated key binding:
(global-set-key (kbd "C-x C-b") 'ibuffer)
Here is the mandatory screenshot:
The interface shows information as columns (status, buffer name, size, major mode, filename), also allows you to do grouping (out of the box you have a single group, named “[ Default ]“). You can filter and sort the buffers (by major mode, filename, status, etc.) and operate over all or some of them (save, kill, search, etc.).
There are a lot of good posts around the web about Ibuffer:
- emacs-fu has an introduction to Ibuffer, including other two alternatives considered (ido, elscreen), plus an example of buffer grouping.
- Martin Owen’s blog also has an example of buffer grouping, plus a few more options (ibuffer-expert, ibuffer-show-empty-filter-groups, ibuffer-auto-mode, dired).
- Little red bat, shows how to add a new column.
- A curious programmer, includes a small function to compare two marked buffers using ediff.
- The abstract factory, includes a listing of some default keybindings, and how to combine them to get cool results.
- Tech Rants, also includes a listing of key bindings, and describes the methods ibuffer-do-occur, ibuffer-do-isearch, ibuffer-do-query-replace and ibuffer-do-eval. Pretty cool.
- Obviously, EmacsWiki.