113

現在のバッファにパターンが何回存在するかを知るために、次のようにします。

:%s/pattern-here/pattern-here/g

パターンの出現回数を示しますが、明らかに扱いにくく、「変更済み」ステータスを設定するという副作用もあります。

よりエレガントな数え方はありますか?

4

6 に答える 6

169

置換を避けるには、2 番目のパターンを空のままにして、「n」フラグを追加します。

:%s/pattern-here//gn

これは公式のヒントとして説明されています。

于 2008-09-16T09:18:01.693 に答える
9
: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
于 2013-01-31T21:49:40.420 に答える
5
:!cat %| grep -c "pattern"

これは正確にはvimコマンドではありませんが、vimから必要なものを提供します.
頻繁に使用する必要がある場合は、コマンドにマップできます。

于 2008-09-16T09:24:28.947 に答える
2

vimscript IndexedSearchは、Vim の検索コマンドを拡張して、「M の一致のうち #N の一致」を表示するようにします。

于 2009-07-22T21:16:11.553 に答える
-1

vimgrep はあなたの友達です:

vimgrep pattern %

ショー:

(1 of 37)
于 2011-11-09T23:32:45.273 に答える