How can I make it so that when I press C-xC-b to access the Buffer List that that buffer automatically takes focus instead of having to switch to it manually with C-xo? I can't find a variable that customizes this.
Asked
Active
Viewed 1,362 times
12
-
3This is purely editorial, but I have never understood how having the list come up un-focused is supposed to be useful. So yeah, good question. – Avdi Oct 08 '14 at 03:12
2 Answers
10
You can replace the command list-buffers
which is run with C-x C-b
to a function that does what you want. In this case buffer-menu-other-window
opens the buffers list in another window with focus. Adding the following snippet to your init file should remap C-x C-b
to the new function.
(define-key global-map [remap list-buffers] 'buffer-menu-other-window)
Here global-map
represents the keymap where C-x C-b
is bound to a command, list-buffers
the original command and buffer-menu-other-window
the new command.

Vamsi
- 3,916
- 22
- 35
-
4
-
-
@metaturso You can remap with `global-set-key` as well: `(global-set-key [remap list-buffers] #'buffer-menu-other-window)`. `global-set-key` is merely a thin wrapper around `define-key`. – Basil Jun 23 '18 at 10:58
8
An alternative is to switch to ibuffer, which does not share this problem.
ibuffer is part of GNU Emacs, so on recent versions of Emacs you should just need to add
(global-set-key (kbd "C-x C-b") 'ibuffer)
to your init file.
-
1This is what I do as well, but the wording of your answer makes it seem like it is more than just a matter of preference. – nispio Oct 08 '14 at 14:15
-