Puede usar el comando grep de Vim para buscar todos los archivos en su proyecto:
:grep! "\<<cword>\>" . -r
:copen
Pongamos eso en una combinación de teclas:
nnoremap <F4> :grep! "\<<cword>\>" . -r<CR>:copen<CR>
Encuentro esta búsqueda clave de todo el proyecto invaluable cuando estoy explorando una gran base de código desconocida.
\<
y \>
son secuencias regexp que indican el inicio y el final de una palabra, por lo que no obtendrá coincidencias parciales. (La -w
opción de grep podría ser otra forma de lograr esto).
Sin embargo, esta es una búsqueda poco inteligente , por lo que puede producir falsos positivos si la misma palabra aparece en contextos no relacionados.
A decir verdad, utilizo mi propia versión modificada del complemento grep.vim . Esto es un poco más amigable de usar:
- Le permite editar el patrón de búsqueda, y también la línea de comando grep (para que pueda apuntar a carpetas específicas como en
src/ lib/
lugar de .
) y recuerda los cambios.
- Agregué soporte para la búsqueda de Google . Esto puede ser mucho más rápido que grep porque crea un índice de palabras en lugar de escanear cada archivo cada vez. En particular, csearch usa un estándar de expresión regular ligeramente diferente, por lo que
\b
debe usarse en lugar de \<
y \>
.
Lo configuro y excluyo algunos archivos estándar como este .
Para un acceso rápido, creo dos combinaciones de teclas . F3me permite editar la línea de comandos, F4usa la línea de comandos configurada previamente sin ninguna pulsación de tecla adicional. El mecanismo es bastante feo y podría usar algo de limpieza, pero me ha servido bien.