Después de ejecutar una búsqueda grep en vim con: grep, obtengo una lista de archivos. ¿Hay alguna manera de seleccionar uno de esos archivos y abrirlo en una nueva pestaña en esa línea en particular?Seleccionar los archivos resultantes de grep en vim
Respuesta
Para lograr lo que desea, debe abrir la ventana de corrección/error después de llamar a grep:
:copen
Tengo un script que me sirve cada vez que uso grep.
Si se obtiene una lista de archivos que puede navegar por ellas en forma de árbol a través de
:cn
:colder
Para obtener más información
:help grep
y vaya a la parte inferior de la entrada
Para completar, así como el comando :copen
, también hay :cw
, que solo abre la ventana "quickfix" si hay entradas (por lo que si grep no tiene resultados, no aparecerá).
creo que la forma más fácil (sin definir un mapeo) de hacer que los archivos se abren en una nueva pestaña sería hacer:
:cw " Open the quickfix window
Ctrl-W T " Switch the window into a new tab
<ENTER> " Open the file/line
Alternativamente, se podría hacer:
:cw " Open the quick fix window
Ctrl-W <ENTER> " Open the file/line in a new window
Ctrl-W T " Move the new window to a new tab
Si desea hacerlo de manera predeterminada, probablemente podría usar BufEnter
y BufLeave
autocmds para crear y eliminar un mapeo al ingresar y salir de la ventana de revisión; sin embargo, esto probablemente no sea trivial.
:help :cw
:help :copen
:help quickfix
Me encontré con este hilo en busca de una respuesta a una pregunta muy similar. La respuesta presentada anteriormente, aunque correcta, no describió una forma conveniente de abrir TODOS los archivos en la ventana de QuickFix a la vez ... en búferes o pestañas.
Parece que no hay que ser construido en un comando para hacerlo, pero es trivial como un plugin VIM ... alguien ha hecho aquí http://pastebin.com/J9RwciFQ
y dispone de 12 líneas de código (una función). .. pegado aquí para ahorrarle un clic durante su análisis. Siga el enlace pastebin si va a intentar implementar esto ... mi plugin está instalado en el directorio de patógenos y modifiqué ligeramente el plugin del original (detalles después del código).
~/.v/b/v/p/quickfixopenall.vim
" Create command
command! QuickFixOpenAll :call StartQuickFixOpenAll()
function! StartQuickFixOpenAll()
if empty(getqflist())
return
endif
let s:prev_val = ""
for d in getqflist()
let s:curr_val = bufname(d.bufnr)
if (s:curr_val != s:prev_val)
exec "edit " . s:curr_val
endif
let s:prev_val = s:curr_val
endfor
endfunction
Así que una vez que tenga un resultado grep estoy satisfecho con el plugin ... tiene una función: QuickFixOpenAll ... tuve que modificar el plugin como dado (añadido la siguiente línea a la quickfixplugin.vim) Y me llamó a su función dada StartQuickFixOpenAll ...
" Create command
command! QuickFixOpenAll :call StartQuickFixOpenAll()
Entonces usted tiene todos los archivos en el resultado grep abierta como amortiguadores ... si desea ejecutar cualquier operación de commeon como buscar/reemplazar puede prefijar el comando regular con el comando "bufdo" que realizará su comando en todos ...en tipo VIM "help bufdo"
Puede modificar bastante trivialmente este complemento si quiere usar pestañas ... utiliza la "edición" en coma ... simplemente reemplace eso con "tabe" y: QuickFixOpenAll abrirá cada uno búfer de resultados en una nueva pestaña.
- 1. abrir 100 archivos en vim
- 2. Vim: crear marcas en todos los archivos?
- 3. grep solo archivos de texto
- 4. Seleccionar entre páginas en Vim?
- 5. Grep en varios archivos en el sistema de archivos Hadoop
- 6. Contando los ceros finales de los números resultantes del factorial
- 7. ¿Cómo busco los búferes abiertos en Vim?
- 8. Imprimir recursivamente todos los archivos de Vim
- 9. Buscar/Grep en todos los tampones VI
- 10. ¿Cómo grep archivos en git repo?
- 11. Grep para múltiples patrones en varios archivos
- 12. Vim: comodín de grep no funciona en Windows
- 13. ¿Cómo paso los archivos resultantes de un pase grep a otro para que solo pase por el subconjunto con la segunda pasada?
- 14. ¿Cómo puedo grep archivos ocultos?
- 15. grep en todos los directorios
- 16. VIM, ejecuta un comando en varios archivos
- 17. Fast 'Buscar en archivos' para VIM?
- 18. consolidando archivos vim en la carpeta ~/.vim
- 19. Cómo comentar en los archivos de configuración de Vim: ".vimrc"?
- 20. se divide siempre ordenando internamente los marcos de datos resultantes
- 21. Vim ejecuta autocmd en todos los tipos de archivos EXCEPTO
- 22. GrEP una lista de archivos específicos
- 23. Navegador de archivos Vim
- 24. Sangría en VIM con todos los archivos en la carpeta
- 25. ¿Cómo guardar todos los archivos en pestañas en Vim?
- 26. Grep excluye la carpeta y seleccionar el uso de Linux
- 27. seleccionar en los resultados de un seleccionar
- 28. ¿cómo grep en R?
- 29. archivos grep basados en la marca de tiempo
- 30. vim - deshacer en todos los tampones/ventanas/abrir archivos etc
¿Cómo se hacen los archivos abiertos en una nueva pestaña en esa línea en particular? – Amjith