为了知道当前缓冲区中存在模式的次数,我这样做:
:%s/pattern-here/pattern-here/g
它给出了模式的出现次数,但显然很麻烦,并且还有设置“已更改”状态的副作用。
有更优雅的计算方法吗?
答案 0 :(得分:163)
答案 1 :(得分:8)
:help count-items
在VIM 6.3中,您可以按照以下方式进行操作。
:set report=0
:%s/your_word/&/g # returns the count without substitution
在VIM 7.2中,您可以按照以下方式进行操作:
:%s/your_word/&/gn # returns the count, n flag avoids substitution
答案 2 :(得分:5)
:!cat %| grep -c "pattern"
这不完全是vim命令,但它会从vim中提供你所需要的东西 如果需要经常使用它,可以将其映射到命令。
答案 3 :(得分:2)
vimscript IndexedSearch增强了Vim搜索命令以显示“在M匹配中匹配#N”。
答案 4 :(得分:1)
将光标放在要计数的单词上,然后执行以下操作。
:%s/<c-r><c-w>//gn
请参阅:h c_ctrl-r_ctrl-w
答案 5 :(得分:-1)
vimgrep是你的朋友:
vimgrep pattern %
节目:
(1 of 37)