Um plugin vim para melhorar a experiência de pesquisa de projetos ao usar ferramentas como ag e rg.
Fui inspirado pela capacidade do fzf.vim de pesquisar :Ag
várias palavras sem aspas, restringir vários resultados em tempo real com sintaxe de pesquisa estendida e, em seguida, preencher o quickfix para um grande refatorador?
:Ag function index
Mas me descobri faltando a capacidade de passar opções de linha de comando como faria com o :Ack
? do ack.vim.
:Ack -Q -i 'function index' vendor
Além disso, :Ag
do fzf.vim trata aspas como uma parte literal da consulta de pesquisa, o que é inconsistente com ag
na linha de comando.
Assim, a intenção deste plugin é trazer o melhor dos dois mundos para o seu wrapper de pesquisa favorito. Execute pesquisas de várias palavras com ou sem aspas, passe opções de linha de comando e faça tudo com um único comando.
Leia mais sobre o fluxo de trabalho de pesquisa do meu projeto com fzf.vim e agricultura ❤️
Instale usando vim-plug ou similar:
Plug 'jesseleite/vim-agriculture'
Se você já estiver usando fzf.vim, poderá usar os comandos :AgRaw
/ :RgRaw
fornecidos.
:AgRaw func.*index
:AgRaw 'func.*index'
:AgRaw -Q 'function index()' app/Http/Controllers
Da mesma forma para :RgRaw
, basta substituir AgRaw
em RgRaw
nos exemplos acima.
Se você estiver usando outro wrapper de pesquisa, precisará agrupar sua entrada com agriculture#smart_quote_input()
.
Se você estiver usando um dos comandos fornecidos, poderá conectar-se aos mapeamentos <Plug>
fornecidos em seu .vimrc
:
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
Da mesma forma para :RgRaw
, basta substituir AgRaw
em RgRaw
nos exemplos acima.
Se estiver usando um dos comandos fornecidos, você também pode definir opções de linha de comando padrão em seu .vimrc
:
let g:agriculture#ag_options = '--case-sensitive'
Novamente da mesma forma para :RgRaw
com g:agriculture#rg_options
.
Se você estiver usando um dos comandos fornecidos e quiser desabilitar as cotações inteligentes para consistência CLI:
let g:agriculture#disable_smart_quoting = 1
As janelas de visualização agora são renderizadas por padrão em muitos comandos fzf.vim. Se você deseja personalizar ou desabilitar esse comportamento, consulte a documentação do fzf.vim nas janelas de visualização.
Sua opinião será citada automaticamente, a menos que as seguintes condições sejam atendidas:
: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
DR: Se você usar aspas, travessões ou precisar passar por um caminho, é recomendável citar/escapar do seu próprio padrão e o vim-agriculture ficará fora do seu caminho?
Apenas um truque?