brew tap burntsushi/ripgrep https://github.com/BurntSushi/ripgrep.git
brew install burntsushi/ripgrep/ripgrep-binAqui está um script automatizado que eu uso como parte do meu dotfiles.
Se você preferir qualquer outro modo de instalação, consulte o site oficial do ripgrep. instalação seção.
Passo 2: Instale o ack.vim
Para instalar o ack.vim usando o vim-plug gerenciador de pacotes, adicione o seguinte no seu vimrc:
Plug 'mileszs/ack.vim'
ou consulte o site ack.vim instalação seção.
etapa 3: Configure o ack.vim para usar o rg
Adicione a seguinte configuração ao seu vimrc:
" ack.vim --- {{{
" Use ripgrep for searching ⚡️
" Options include:
" --vimgrep -> Needed to parse the rg response properly for ack.vim
" --type-not sql -> Avoid huge sql file dumps as it slows down the search
" --smart-case -> Search case insensitive if all lowercase pattern, Search case sensitively otherwise
let g:ackprg = 'rg --vimgrep --type-not sql --smart-case'
" Auto close the Quickfix list after pressing '' on a list item
let g:ack_autoclose = 1
" Any empty ack search will search for the work the cursor is on
let g:ack_use_cword_for_empty_search = 1
" Don't jump to first match
cnoreabbrev Ack Ack!
" Maps / so we're ready to type the search keyword
nnoremap / :Ack!
" }}}
" Navigate quickfix list with ease
nnoremap [q :cprevious
nnoremap ]q :cnext Nota: let g:ackprg define o comando que o ack.vim executará internamente.
Observe também que estamos usando rg aqui com algumas opções. Olhe para a man rg para modificar as opções que podem atender aos seus requisitos.
Para explorar as opções do ack.vim, consulte o seguinte documentação.
Uso
Agora que estamos prontos, aqui estão os casos de uso mais comuns:
Procure uma palavra sob o cursor
pressione
Desde que definimos let g:ack_use_cword_for_empty_search = 1, Ack volta para a palavra atual no cursor da pesquisa, portanto, não é necessário digitar essa palavra.
Procura de palavras
pressione
Como estamos usando maiúsculas e minúsculas com ripgrep, isso fará uma pesquisa sem distinção entre maiúsculas e minúsculas se a palavra estiver em letras minúsculas e uma pesquisa com distinção entre maiúsculas e minúsculas.
Pesquisa Regex
pressione
Navegação pelos resultados
O Ack.vim preenche os resultados na lista Quickfix, que é aberta como uma janela inferior separada. Existem várias maneiras de navegar na lista de resultados:
- Você pode navegar pela lista do Quickfix usando
j/ke pressioneenterpara fechar a lista do Quickfix. O VIM o levará ao local exato da palavra encontrada. - Você também pode usar as teclas de atalho
]qou[q. O VIM moverá o cursor para o resultado seguinte / anterior e abrirá o arquivo em um novo buffer, se necessário.
Para fechar a lista do Quickfix quando terminar, você pode ir para a janela inferior do Quickfix e fechá-la ou simplesmente executar:cclose - Para abrir o backup da lista do Quickfix, execute
:copen
Nota de encerramento
E aí está, uma pesquisa e navegação perfeitas para a sua próxima pesquisa de palavras-chave em todo o projeto!
Se você estiver preso em qualquer lugar, procure os respectivos documentos ack.vim e ripgrep em seus respectivos repositórios ou envie-me uma mensagem. Compartilhe a configuração da qual você se orgulha, para ajudar outras pessoas a melhorar a deles.
Aqui estão os meus dotfiles.