Zählen von Vorkommen in Vim, ohne dass der Puffer geändert Markierung
-
09-06-2019 - |
Frage
Um zu wissen, wie oft ein Muster in aktuellen Puffer vorhanden ist, das tue ich:
:%s/pattern-here/pattern-here/g
Es gibt die Anzahl der Vorkommen des Musters, sondern ist offensichtlich umständlich und hat auch den Nebeneffekt der Einstellung den ‚geändert‘ Status.
Gibt es eine elegantere Möglichkeit zu zählen?
Lösung
, um die Substitution zu vermeiden, lassen Sie das zweite Muster leer, und fügen Sie das „n“ Flag:
:%s/pattern-here//gn
Dies wird wie folgt beschrieben: einer offiziellen Spitze .
Andere Tipps
:help count-items
In VIM 6.3, hier ist, wie Sie es tun.
:set report=0
:%s/your_word/&/g # returns the count without substitution
In VIM 7.2, hier ist, wie Sie es tun würde:
:%s/your_word/&/gn # returns the count, n flag avoids substitution
:!cat %| grep -c "pattern"
Es ist nicht gerade vim Befehl, aber es wird dir geben, was Sie von vim benötigen.
Sie können es auf den Befehl zuordnen, wenn Sie es häufig verwenden müssen.
Die vimscript IndexedSearch verbessert die Vim Suche angezeigt werden Befehle " Am Spiel #N aus M matches“.
Setzen Sie den Cursor auf das Wort, das Sie wollen die folgenden zählen und auszuführen.
:%s/<c-r><c-w>//gn
Siehe :h c_ctrl-r_ctrl-w
vimgrep ist dein Freund hier:
vimgrep pattern %
zeigt an:
(1 of 37)