在Vim中对事件进行计数而不标记缓冲区已更改
时间:2020-03-05 18:55:26 来源:igfitidea点击:
为了知道模式在当前缓冲区中存在多少次,我这样做:
:%s/pattern-here/pattern-here/g
它给出了模式出现的次数,但是显然很麻烦,并且具有设置"更改"状态的副作用。
有没有更优雅的计算方法?
解决方案
回答
为了避免替换,请将第二个模式留空,并添加n标志:
:%s/pattern-here//gn
这被描述为官方提示。
回答
:!cat %| grep -c "pattern"
这不是完全的vim命令,但是它将为我们提供vim所需的功能。
如果需要经常使用它,可以将其映射到命令。
回答
vimscript IndexedSearch增强了Vim搜索命令,以显示" M个匹配中的匹配N个"。