首页 > 代码库 > Emacs ibuffer小结
Emacs ibuffer小结
email buffer,那么如何管理这些越来越大的buffer呢?
默认C-x C-b会执行list-buffers容你搜索使用,
然而,Emacs也提供更加强大的替代品
ibuffer,你肯定会很喜欢这个替代品,那么先做个键绑定吧:(global-set-key (kbd "C-x C-b") 'ibuffer)放置在你的.emacs中,C-x C-e执行这句话即可
那么现在的C-x C-b的效果是:
下面假设你想对C语言代码进行筛选,键入 / m 然后输入c-mode,看看效果吧,前缀"/"在
ibuffer里头是分组筛选命令。
可以看到,只有c语言文件buffer留了下来,但是如果你想要两种major mode:c-mode 和
org-mode,那么可以使用 / g 来对buffer来分组,只要在筛选后,键入 / g 然后键入组名,
就能分组,然后可以键入 / / 回到全部列表中去,再去分下一个组,通过上述操作,建立
orgfiles和cfiles组,如下所示:
可以通过e(edit),f(find),或者RET查看buffer,使用m对buffer进行标记,可以键入D,进行删除
如图所示:一次性mark了15个buffer,然后键入D,就会提示是否kill掉这些buffer,如果误mark了buffer,也可以用u撤销.
下表列出了筛选命令:
| key | bindings |
|-----+-----------------------------------|
| / m | 基于major mode设定一个筛选条件 |
| / n | 基于buffer name设定一个筛选条件 |
| / c | 基于buffer 的内容设定一个筛选条件 |
| / f | 基于filename 设定一个筛选条件 |
| / > | 基于buffer size 设定一个筛选条件 |
| / < | 也是基于buffer size |
| / / | 删掉所有生效的筛选条件 |
下表列出了分组筛选命令:
| key | bindings |
|-----+----------------------|
| / g | 根据筛选结果创建分组 |
| TAB | 移动到下一个分组 |
| M-p | 移动到上一个分组 |
| / \ | 删除所有存在的分组 |
下表列出了排序命令:
| key | bindings |
|-----+----------------------|
| , | 按照排序模式循环排序 |
| s i | 反向当前排序 |
| s a | 根据字母排序 |
| s f | 根据文件名排序 |
| s v | 根据最后查看日期排序 |
| s s | 根据buffer大小排序 |
| s m | 根据major mode排序 |
Emacs ibuffer小结