Un complemento de vim para mejorar la experiencia de búsqueda de proyectos cuando se utilizan herramientas como ag y rg.
Me inspiré en la capacidad de fzf.vim para buscar rápidamente :Ag
varias palabras sin comillas, limitar múltiples resultados en tiempo real con una sintaxis de búsqueda extendida y luego completar una solución rápida para una refactorización grande.
:Ag function index
Pero me encontré perdiendo la capacidad de pasar opciones de línea de comando como podría hacerlo con :Ack
? de ack.vim.
:Ack -Q -i 'function index' vendor
Además, :Ag
de fzf.vim trata las comillas como una parte literal de la consulta de búsqueda, lo cual es inconsistente con ag
en la línea de comando.
Por lo tanto, la intención de este complemento es traer lo mejor de ambos mundos a su contenedor de búsqueda favorito. Realice búsquedas de varias palabras con o sin comillas, pase opciones de línea de comando y hágalo todo desde un solo comando.
Lea más sobre mi proyecto buscando flujo de trabajo con fzf.vim y agricultura ❤️
Instalar usando vim-plug o similar:
Plug 'jesseleite/vim-agriculture'
Si ya está utilizando fzf.vim, puede utilizar los comandos :AgRaw
/ :RgRaw
proporcionados.
:AgRaw func.*index
:AgRaw 'func.*index'
:AgRaw -Q 'function index()' app/Http/Controllers
Lo mismo ocurre con :RgRaw
, simplemente sustituya AgRaw
en RgRaw
en los ejemplos anteriores.
Si está utilizando otro contenedor de búsqueda, deberá ajustar su entrada con agriculture#smart_quote_input()
.
Si está utilizando uno de los comandos proporcionados, puede conectarse a las asignaciones <Plug>
proporcionadas en su .vimrc
:
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
Lo mismo ocurre con :RgRaw
, simplemente sustituya AgRaw
en RgRaw
en los ejemplos anteriores.
Si está utilizando uno de los comandos proporcionados, también puede configurar las opciones de línea de comando predeterminadas en su .vimrc
:
let g:agriculture#ag_options = '--case-sensitive'
De nuevo lo mismo para :RgRaw
con g:agriculture#rg_options
.
Si está utilizando uno de los comandos proporcionados y desea deshabilitar las comillas tipográficas para mantener la coherencia de la CLI:
let g:agriculture#disable_smart_quoting = 1
Las ventanas de vista previa ahora se muestran de forma predeterminada en muchos comandos de fzf.vim. Si desea personalizar o deshabilitar este comportamiento, consulte la documentación de fzf.vim en las ventanas de vista previa.
Su aportación se citará automáticamente a menos que se cumplan las siguientes condiciones:
:Ag -Q "Already quoted this pattern."
:Ag Why you "scruffy looking nerf herder"!
:Ag Who's scruffy looking?
:Ag -Q function index
:Ag Which way to the beach? -> that way!
:Ag an escaped pattern vendor/folder
TL;DR: Si usa comillas, guiones o necesita pasar una ruta, se recomienda que cite/escapare de su propio patrón y vim-agriculture se mantendrá fuera de su camino.
¿Solo un truco?