Para saber cuántas veces existe un patrón en el búfer actual, hago:
:%s/pattern-here/pattern-here/g
Proporciona el número de apariciones del patrón, pero obviamente es engorroso y también tiene el efecto secundario de establecer el estado "cambiado".
¿Hay una forma más elegante de contar?
Para evitar la sustitución, deje el segundo patrón en blanco y agregue la marca "n":
:%s/pattern-here//gn
Esto se describe como un consejo oficial .
:help count-items
En VIM 6.3, así es como lo haces.
:set report=0
:%s/your_Word/&/g # returns the count without substitution
En VIM 7.2, así es como lo harías:
:%s/your_Word/&/gn # returns the count, n flag avoids substitution
:!cat %| grep -c "pattern"
No es exactamente el comando vim, pero le dará lo que necesita de vim.
Puede asignarlo al comando si necesita usarlo con frecuencia.
El vimscript IndexedSearch mejora los comandos de búsqueda de Vim para mostrar "En la coincidencia #N fuera de M coincidencias".
Coloque el cursor en la palabra que desea contar y ejecute lo siguiente.
:%s/<c-r><c-w>//gn
Ver :h c_ctrl-r_ctrl-w