Afin de savoir combien de fois un motif existe dans le tampon actuel, je fais:
:%s/pattern-here/pattern-here/g
Il donne le nombre d'occurrences du modèle, mais est évidemment lourd et a également pour effet secondaire de définir le statut "modifié".
Existe-t-il une manière plus élégante de compter?
Pour éviter la substitution, laissez le deuxième motif vide et ajoutez le drapeau "n":
:%s/pattern-here//gn
Ceci est décrit comme n conseil officiel .
:help count-items
Dans VIM 6.3, voici comment procéder.
:set report=0
:%s/your_Word/&/g # returns the count without substitution
Dans VIM 7.2, voici comment procéder:
:%s/your_Word/&/gn # returns the count, n flag avoids substitution
:!cat %| grep -c "pattern"
Ce n'est pas exactement la commande vim, mais elle vous donnera ce dont vous avez besoin de vim.
Vous pouvez le mapper à la commande si vous devez l'utiliser fréquemment.
Le vimscript IndexedSearch améliore les commandes de recherche Vim pour afficher "At match #N sur M matches".
Placez le curseur sur le mot que vous souhaitez compter et exécutez ce qui suit.
:%s/<c-r><c-w>//gn
Voir :h c_ctrl-r_ctrl-w