¿Hay alguna manera de buscar texto en una carpeta y mostrar los resultados de búsqueda en un búfer separado en Vim? (Al igual que sublime texto Ctrl + Shift + F
resultados)Texto de búsqueda de Vim en la carpeta
Respuesta
No, no necesita necesita cualquier complemento. El valor predeterminado :vimgrep
(o :vim
) es todo lo que necesita.
Buscar foo
en todos los archivos en el directorio actual:
:vim foo * | cw
Buscar foo
en todos los archivos JavaScript en el directorio actual:
:vim foo *.js | cw
Buscar foo
en todos los archivos de JavaScript en el directorio actual recursivamente:
:vim foo **/*.js | cw
Búsqueda de la palabra actual en todos los archivos en el directorio actual:
:vim <C-r><C-w> * | cw
:vim <cword> * | cw
(Editar: :cw[indow]
en lugar de :copen
)
Suena como que necesita ack.vim
:
Este plugin es un frente para el módulo Perl App :: Ack. Ack puede usarse como un reemplazo para el 99% de los usos de grep. Este complemento le permitirá ejecutar ack desde vim y muestra los resultados en una ventana dividida.
Uso:
:Ack [options] {pattern} [{directory}]
Search recursively in {directory} (which defaults to the current directory) for the {pattern}.
archivos que contienen el término de búsqueda se mostrarán en la ventana dividida, junto con el número de línea de la ocurrencia, una vez por cada ocurrencia. [Intro] en una línea en esta ventana abrirá el archivo y colocará el cursor en la línea correspondiente.
Los delegados :grep
comando de Vim el de búsqueda de la herramienta externa grep
(o una alternativa compatible como ack
, establecido a través de 'grepprg'
). Alternativamente, puede usar :vimgrep
, que realiza la búsqueda dentro de Vim. Esto permite usar las mismas expresiones regulares de estilo Vim y patrones glob (como **/
), pero generalmente es más lento porque cada archivo se lee en un buffer Vim.
Ambos comandos muestran los resultados en la ventana de revisión, desde la cual puede navegar a las coincidencias.
No necesita ningún complemento para esto, aunque hay varios disponibles que intentan simplificar el manejo o admiten diferentes comandos de búsqueda (por ejemplo, el ya mencionado ack.vim).
- 1. consolidando archivos vim en la carpeta ~/.vim
- 2. Búsqueda avanzada en Vim
- 3. En Vim, ¿hay alguna manera de pegar texto en la línea de búsqueda?
- 4. Copia del término de búsqueda de vim
- 5. Vim búsqueda incremental siguiente resultado
- 6. Vim - un tirón en la búsqueda registrarse
- 7. Cómo copiar texto desde el modo de línea de comandos en Vim durante la búsqueda
- 8. Búsqueda y reemplazo de VIM
- 9. Eliminación/cambio de texto buscado en Vim
- 10. VIM búsqueda de patrón en quickfix
- 11. ¿Volver atrás en la búsqueda de caracteres en vim?
- 12. ¿Búsqueda y reemplazo de Vim disminuyendo la referencia retrospectiva?
- 13. búsqueda de texto en javascript?
- 14. Cómo deshacerse de la búsqueda resaltada en Vim
- 15. ¿Cómo puedo emular la búsqueda de Vim * en GNU Emacs?
- 16. ¿Cómo avanzar en la búsqueda y navegación de etiquetas VIM?
- 17. Desenvolver texto en vim
- 18. Vim búsqueda incremental durante la sustitución
- 19. vim patrón de búsqueda para una línea de texto extraída en modo visual
- 20. Sunspot/Solr Búsqueda de texto completo: ¿cómo excluir ciertos campos de la búsqueda de texto completo?
- 21. Sangría en VIM con todos los archivos en la carpeta
- 22. Cómo limitar el alcance de búsqueda en VI/VIM?
- 23. Posible búsqueda de tipo ViM en Visual Studio ¿es posible?
- 24. Búsqueda de archivos modificados en una carpeta de ClearCase
- 25. Caso etiqueta insensibles búsqueda en Vim
- 26. Cómo permitir la búsqueda de texto completo con guiones en la consulta de búsqueda
- 27. Búsqueda interactiva/reemplazar regex en Vim?
- 28. RavenDB búsqueda de texto completo
- 29. La relevancia de búsqueda de texto se mide en?
- 30. PDF Búsqueda de texto C#
se ve bien, pero hay una manera de abrir un archivo con una de encontrado resultados sin enfocar su buffer? –
Por supuesto. Ver ': h quickfix'. Por ejemplo ': cc5' para saltar al error número 5,': cn' para saltar al siguiente error, ': cN' o': cp' para saltar al error anterior ... – romainl
¡Lo tengo, gracias! –