emacs ibuffer

ibuffer是Emacs中的一个缓冲区管理模式,是一种Buffer Menu的增强模式。在Emacs 23以上的版本中已经自带,使用M-x ibuffer命令可以打开。在ibuffer中按下h键可以获得帮助。


ibuffer模式的几个常用快捷键


操作被标记buffer的快捷键

S    保存被标记的buffers
v    在当前frame查看被标记的buffers
H    在一个新建的frame中查看被标记的buffers
V    revert,就是从文件中重新读取内容
T    切换被标记buffers的只读状态
D    关闭被标记的buffers
M-s a C-s    在被标记的buffers中进行增量查找
M-s a C-M-s    在被标记的buffers中进行正则查找
U    在被标记的buffers中进行正则替换
Q    在被标记的buffers中进行询问替换
I    同Q一样,但是使用正则表达式
O    在被标记的buffers中进行正则查找
X    将被标记的buffers的内容作为一个shell命令的输入
N    使用一个shell命令的输出替换被标记的buffers的内容
F    使用被标记buffers对应的文件名作为一个shell命令的参数
k    将被标记的buffers从ibuffer的缓冲区中删除,但是不关闭
x    关闭所有被标记的buffers


标记buffers的快捷键

m    标记
t    切换标记状态
u    取消标记
**    取消所有标记
*M    标记属于指定的major-mode的buffers
*u    标记所有未保存的buffers,这些buffers具有对应的文件
*m    标记所有已修改的buffers,这些可能没有对应的文件
*s    标记所有以'*'开头的buffers
*e    标记所有有对应文件但文件又已经不存在的buffers
*r    标记所有只读的buffers
*/    标记所有dired-mode的buffers,也就是所有目录
*h    标记所有help-mode和apropos-mode的buffers
.    mark buffers older than 'ibuffer-old-time'
d    标记当前位置的buffer,用于删除
%n    标记所有buffer名符合给定正则表达式的buffers
%m    标记major mode符合给定正则表达式的buffers
%f    标记文件名符合给定正则表达式的buffers


排序buffers的快捷键

这些快捷键用于在ibuffer的视图中按照不同的排序方式查看buffers

,    在不同的排序方法间轮流切换
si    当前排序方法的反向排序
sa    按照字典序排序
sf    按照文件名排序
sv    按照最后查看时间排序
ss    按照buffers的大小排序
sm    按照major-mode排序

其他快捷键

q    退出ibuffer的buffer
=    查看buffer和其对应文件的差别
f    查看当前行的buffer
o    在另外的window查看buffer,并且切换焦点
C-o  在另外的window查看buffer,但是不切换焦点
h或?    查看帮助


过滤器(filter)和过滤器组(filter group)


filter和filter group是ibuffer中两个很强大的功能,下面介绍一下这两个功能。


过滤器是用来过滤ibuffer视图中的buffers的,用来控制要显示哪些buffers,比如你可以控制所有以*开头的buffers都不显示在ibuffer视图中。每个ibuffer的buffer都有一个活动过滤器栈,用来存放过滤器,放置在这个栈中的过滤器会作用于ibuffer视图,使得符合这些过滤器标准的buffers可以在ibuffer视图中显示出来,而不符合的则被隐藏掉。


例如,在ibuffer视图中使用如下命令:
/n ^* RET
可以在栈中创建一个过滤器,该过滤器过滤出所有buffer名称以'*'开头的buffers。
再使用如下命令:
/n Message RET
可以从上一次过滤出的buffers中再过滤出名字中包含'Message'的buffers。


上面演示的是过滤器的”与“逻辑组合的应用效果,即在ibuffer视图中显示的所有buffers要符合所有过滤器栈中的过滤器定义的标准。
ibuffer还提供了一个简单的”或“逻辑组合的应用,可以把栈顶的两个逻辑按照‘或’逻辑组合成一个过滤器,组合之后,栈顶的两个过滤器就变成了一个。
在ibuffer视图的最上端显示了当前的活动过滤器,如下图所示:


过滤器组其实是一组buffers,这个组有一个名称,并且这个组里的所有buffers都符合一个过滤器定义的标准。过滤器组里的所有buffers都被紧挨着在ibuffer视图中显示。
创建过滤器组很简单,首先你要创建过滤器,然后使用如下的快捷键:/g,ibuffer会提示你输入过滤器组的名称,这就完成了。

未完...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值