GNU-devel ELPA - buffer-expose


Visual buffer switching using a window grid
buffer-expose-, 2020-Dec-14, 450 KiB
Clemens Radermacher <>
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET buffer-expose RET

Full description

<a href=""><img alt="GNU ELPA" src=""/></a>

* Description

Visual buffer switching using a window grid ([[][ace-window ]]key hints are optional):


* Installation

For manual installation, clone the repository and call:

#+BEGIN_SRC elisp
(package-install-file "/path/to/buffer-expose.el")

* Config

To use the default bindings for switching buffers with buffer-expose
use buffer-expose-mode:

#+BEGIN_SRC elisp
(buffer-expose-mode 1)

The default bindings are defined in buffer-expose-mode-map:

#+BEGIN_SRC elisp
(defvar buffer-expose-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "<s-tab>") 'buffer-expose)
    (define-key map (kbd "<C-tab>") 'buffer-expose-no-stars)
    (define-key map (kbd "C-c <C-tab>") 'buffer-expose-current-mode)
    (define-key map (kbd "C-c C-m") 'buffer-expose-major-mode)
    (define-key map (kbd "C-c C-d") 'buffer-expose-dired-buffers)
    (define-key map (kbd "C-c C-*") 'buffer-expose-stars)
  "Mode map for command `buffer-expose-mode'.")

There are user options to customize which buffers are shown and you can easily
write your own command, like this:

#+BEGIN_SRC elisp
(defun my-expose-command (&optional max)
  (interactive "P")
    <your-buffer-list> max [<hide-regexes> <filter-func>]))