VIM 的命令模式下,给定某个正则表达式,找出匹配这个正则表达式的行数或者个数。使用 g 和 n 参数,就可以达到以上目标。
1、在文件中统计匹配的个数(一行中有多个匹配,也算多个)
:%s/pattern//gn
2、去掉 g 这个参数,就是统计成功匹配的行数(一行中有多个匹配,只算一个)
:%s/pattern//n
3、也可以限定在某个范围行 内统计(%表示在整个文件范围内搜索)
:10,88s/pattern//gn
在 10 到 88 行之间统计匹配的个数
4、在当前行上统计匹配的个数
:s/pattern/gn
5、利用上次搜索的pattern来统计
:%s///gn
一个有趣的用法是,在当前光标处,敲 *,自动搜索当前光标所在位置的词,然后,用上面的命令做统计,就可以避免敲这个词了,可直接统计了。
参考了:
http://vim.wikia.com/wiki/Count_number_of_matches_of_a_pattern