Switch buffer quickly

C-x b“是切换emacs buffer的快捷键,可是你知道吗,即使是切换buffer这样的基本操作,也有很多个包能够提升效率。像我这样一天到晚开着emacs,buffer越开越多却很少关掉的人来说,选择一个高效的工具是十分必要的。

iswitchb就是其中一个,而且是缺省安装的(但该功能默认关闭)。

切换buffer的传统方式是从头到尾输入buffer的名字,大小写敏感,当然可以使用TAB自动补全。iswitchb的方式则灵活得多,默认情况下大小写不敏感,当输入大写字符时自动转换到大小写敏感状态(与字符串搜索类似);还有就是可以匹配buffer名字的任意部分。首次使用iswitchb时可能会吓一跳,因为它将所有的buffer都列在minibuffer里,而不像传统方式那样按TAB后打开一个新buffer;但是,随着不断输入,minibuffer里将只显示能够匹配用户输入的buffer列表,其中离光标最近的一个(最左边高亮显示的)buffer是默认选择的buffer。由于iswitchb的独特匹配方式,可能出现输入结束仍有多个候选buffer的情况,如果这时我们想要切换到的buffer并非是第一个,则可以使用C-s(正向)或C-r(反向)遍历buffer列表。

打开iswitchb方式如下:

M-x customize-group iswitchb

然后打开iswitchb mode,或者手工在.emacs文件里添加

(iswitchb-mode 1)

更多用法参见wiki页

我们还可以使用BufferSelection给”C-x C-b“一点变化,只需在.emacs文件里添加如下代码:

(require 'bs)

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