#+TITLE: IBuffer layer
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#install][Install]]
- [[#layer][Layer]]
- [[#grouping-buffers][Grouping buffers]]
- [[#key-bindings][Key bindings]]
- [[#global][Global]]
- [[#ibuffer][IBuffer]]
* Description
This layer configures Emacs IBuffer for Spacemacs.
* Install
** Layer
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =ibuffer= to the existing =dotspacemacs-configuration-layers= list in this
file.
** Grouping buffers
Buffers can be grouped by major-modes or projectile projects.
By default buffers are grouped by major-modes.
To change how buffers are grouped set the layer variable
=ibuffer-group-buffers-by= to one of the following supported values:
- =modes= to group buffers by major-modes (default)
- =projects= to group buffers by projectile projects
- =nil= to not group buffers
Example:
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(
(ibuffer :variables ibuffer-group-buffers-by 'projects)))
#+END_SRC
* Key bindings
** Global
| Key Binding | Description |
|-------------+-------------------------------|
| ~SPC b B~ | open IBuffer menu (global) |
*Note:* The layer will also replace regular ~C-x C-b~ with =ibuffer=.
** IBuffer
| ~g r~ | update IBuffer ("refresh") |
| ~g j~ | move to next filter group |
| ~g k~ | move to previous filter group |