Zählen von Vorkommen in Vim, ohne dass der Puffer geändert Markierung

StackOverflow https://stackoverflow.com/questions/70529

  •  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?

War es hilfreich?

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top