Você pode usar o comando grep do Vim para pesquisar todos os arquivos em seu projeto:
:grep! "\<<cword>\>" . -r
:copen
Vamos colocar isso em um keybind:
nnoremap <F4> :grep! "\<<cword>\>" . -r<CR>:copen<CR>
Acho esta pesquisa de uma chave em todo o projeto inestimável quando estou explorando uma grande base de código desconhecida.
\<
e \>
são sequências regexp que indicam o início e o fim de uma palavra, para que você não obtenha correspondências parciais. (O-w
opção para grep pode ser outra maneira de conseguir isso.)
No entanto, essa é uma pesquisa não inteligente , para que possa produzir falsos positivos se a mesma palavra aparecer em contextos não relacionados.
Na verdade, eu uso minha própria versão modificada do plug-in grep.vim . Isso é um pouco mais amigável de usar:
- Ele permite editar o padrão de pesquisa e também a linha de comando grep (para que você possa direcionar pastas específicas, como em
src/ lib/
vez de.
) e lembra as alterações.
- Eu adicionei suporte para o csearch do Google . Isso pode ser muito mais rápido que o grep, pois cria um índice de palavras em vez de verificar cada arquivo todas as vezes. Notavelmente, o csearch usa um padrão regexp ligeiramente diferente, portanto
\b
deve ser usado em vez de \<
e \>
.
Eu o configuro e excluo alguns arquivos padrão como este .
Para acesso rápido, crio dois atalhos de teclado . F3permite editar a linha de comando, F4usa a linha de comando configurada anteriormente sem nenhum pressionamento de tecla extra. O mecanismo é muito feio e pode usar alguma limpeza, mas me serviu bem.