为了知道一个模式在当前缓冲区中存在多少次,我需要:
:%s/pattern-here/pattern-here/g
它给出了模式的出现次数,但显然很麻烦,而且还有设置更改状态的副作用。
有没有更优雅的计数方法?
为了知道一个模式在当前缓冲区中存在多少次,我需要:
:%s/pattern-here/pattern-here/g
它给出了模式的出现次数,但显然很麻烦,而且还有设置更改状态的副作用。
有没有更优雅的计数方法?
: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
:!cat %| grep -c "pattern"
It s not exactly vim command, but it will give you what you need from vim.
You can map it to the command if you need to use it frequently.
vimscriptIndexedSearch增强了Vim搜索命令,以显示“At match#N of M matches”。
将光标放在要计数的单词上,然后执行以下操作。
:%s/<c-r><c-w>//gn
请参见:h c_ctrl-r-ctrl-w
vimgrep是你的朋友:
vimgrep pattern %
显示:
(1 of 37)