¿Cómo usar Ctrl-P para buscar interactivamente el contenido de todos los archivos de un proyecto?

15

Intenté hoy realizar una búsqueda en cada archivo de un proyecto. Uso Ctrl-P y busco en líneas como esta:

captura de pantalla

Pero el resultado de la búsqueda solo está en el archivo abierto anteriormente. Aquí solo abro main.php.

¿Conoces una forma de buscar en todos los archivos sin tener que abrirlos uno por uno?

Gracias,

nobe4
fuente
1
Esto es algo que también quiero. Si usa ack o ag, el rendimiento no debería ser un problema. Además, si está usando neovim, debe ser asíncrono, por lo que tampoco debe haber ningún bloqueo.
mhartington
Finalmente uso ag como comando ctrlp :)
nobe4

Respuestas:

13

:CtrlPLine en realidad se supone que funciona en buffers listados.

Si absolutamente desea utilizar esta característica en cada archivo en el proyecto, se podría añadir a la lista de argumentos (y por lo tanto la lista de buffers) con algo como:

:argadd **/*.php

pero eso no parece una muy buena idea por razones de rendimiento.

Usar :vimgrepo me :grepsuena mucho mejor:

:vim foo **/*.php
:cw

Pierdes la "confusión" de CtrlP, obviamente, pero obtienes confiabilidad y flexibilidad a cambio.

Referencia:

:help :argadd
:help :vimgrep
:help :grep
:help :cwindow
:help quickfix
romainl
fuente
Una diferencia clave entre CtrlP y vim-grep es que CtrlP es interactivo .
ideasman42
1

Debe usar estos complementos Sidesearch o fzf

Ambos permiten buscar en directorios recursivos usando silversearch-ag

fzf permite buscar en los archivos listados que incluyen su cadena.

MisterBanal
fuente
1
Hola @MisterBanal, ¡bienvenido a nuestro sitio! Debe precisar en su respuesta si estos complementos pueden interactuar con CtrlP como se le solicitó a OP. Si pueden interconectarse, debe explicar cómo y si no pueden, al menos debe dar un ejemplo básico de cómo usarlos; de lo contrario, su respuesta realmente no responderá la pregunta. (Puede cambiar su respuesta con el botón "editar" debajo del texto).
statox