texto pegar linea insertar inicio editar cómo copiar con archivo vim

pegar - Recuento de ocurrencias en Vim sin marcar el buffer cambiado



vim inicio (6)

Para saber cuántas veces existe un patrón en el búfer actual, lo 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 "modificado".

¿Hay una forma más elegante de contar?


Coloque el cursor sobre la palabra que desea contar y ejecute lo siguiente.

:%s/<c-r><c-w>//gn

Ver :h c_ctrl-r_ctrl-w


El vimscript IndexedSearch mejora los comandos de búsqueda de Vim para mostrar "En el partido #N de M coincidencias".


Para evitar la sustitución, deje el segundo patrón vacío y agregue el indicador "n":

:%s/pattern-here//gn

Esto se describe como un consejo oficial .


vimgrep es tu amigo aquí:

vimgrep pattern %

Muestra:

(1 of 37)


:!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.


: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