使缓冲区列表成为焦点?


11

我如何才能做到这一点,以便当我按一下C-xC-b以访问“缓冲区列表”时,该缓冲区会自动获得焦点,而不必手动切换到该缓冲区C-xo?我找不到自定义此变量。


2
这纯粹是社论,但我从未理解过如何集中列出清单应该是有用的。是的,很好的问题。
2014年

Answers:


9

您可以将list-buffers运行命令替换为执行所需C-x C-b功能的函数。在这种情况下,buffer-menu-other-window将在另一个具有焦点的窗口中打开缓冲区列表。将以下代码段添加到您的init文件中应重新映射C-x C-b到新功能。

 (define-key global-map [remap list-buffers] 'buffer-menu-other-window)

此处global-map表示C-x C-b绑定到命令,list-buffers原始命令和buffer-menu-other-window新命令的键盘映射。


4
或者buffer-menu,如果您不想使用其他窗口。
2014年

在全局设置键上使用重新映射的荣誉。

@metaturso您也可以使用重新映射global-set-key(global-set-key [remap list-buffers] #'buffer-menu-other-window)global-set-key只是一个薄薄的包装define-key
罗勒

7

另一种选择是切换到不共享此问题的ibuffer。

ibuffer是GNU Emacs的一部分,因此在最新版本的Emacs中,您只需要添加

(global-set-key (kbd "C-x C-b") 'ibuffer)

到您的初始化文件。


1
这也是我所做的,但是您的回答的措词使您似乎不仅仅是在选择偏好。
nispio 2014年

当然可以。
戴夫2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.