用 tabbar mode 为 Emacs 建立 tab
文章目录
估计大家都很喜欢其他编辑器里的导航条,通过这些导航条,你可以快速地在你已经打开的文件里切换。一个一个的 tab,的确是一个现代编辑器所不可或缺的。
在 Emacs 里,我们也可以用 tabbar mode 来实现这个功能,并且可定制的功能更强大。把 tabbar mode 的 el 包扔到你的 path 里,在 .emacs 里添加下面这一句就可以了:
(require 'tabbar)
如果你要设成随 Emacs 的启动而自动启动 tabbar mode,则需要在 .emacs 里添加这句:
(tabbar-mode t)
当你要遍历这些 tab 时,有两个命令:
M-x tabbar-forward: 跳转到下一个可见的tab M-x tabbar-backward: 跳转到前一个可见的tab
我们可以把它们绑定到 C-Tab 和 C-S-Tab 键上:
(global-set-key [(control shift tab)] ‘tabbar-backward) (global-set-key [(control tab)] ‘tabbar-forward)
这样,我们就可以快速地在各个tab中切换了。
另外,命令 M-x tabbar-forward-group 和 M-x tabbar-backward-group 则在各个 tab 组成的 group 里跳转。
Tabbar mode 会自动帮你把 Emacs 里的文件分组。可是,默认的分组方法并不是每个人都喜欢,它会把后缀名相同的文件分为一组,比如说 Perl 脚本都扔在一个组里,Yaml 文件又扔在另一个组里。写代码的时候,在这两个组里切换实在是太麻烦了!我就喜欢把除了 Emacs Buffer 之外的文件都放成一组,即我自己打开的文件放成一组。于是,我用下面这段代码来实现自己的想法:
(setq tabbar-buffer-groups-function (lambda (b) (list "All Buffers"))) (setq tabbar-buffer-list-function (lambda () (remove-if (lambda(buffer) (find (aref (buffer-name buffer) 0) " *")) (buffer-list))))
我把上面的这些代码全部扔到我的 .emacs 文件里,就定义了我自己的 tab 功能,十分方便。
可以在 Emacswiki上的TabBarMode 里找到更多的配置技巧。
文章作者 cookwhy
上次更新 2008-12-26