Um grep recursivo em um diretório deve ser a coisa mais simples, mas ainda não encontrei a receita para fazê-lo funcionar. Estou manipulando os seguintes comandos e não tenho certeza de qual funcionalidade está oculta:
helm-find-files
: O problema é que isso é muito ruim para encontrar um diretório recursivamente.projectile-find-dir
: Isso é ótimo para encontrar o dir! No entanto, apesar de usar o helm complete, você não termina no modo helm, portanto, oC-u C-s
comando não funciona aqui.helm-find
: acerta a recursão, mas direciona arquivos, não diretórioshelm-projectile-find-dir
: Parece ser o que eu quero.
helm
projectile
grep
djechlin
fonte
fonte
Respostas:
Você tem duas maneiras:
Uso
helm-projectile-grep/ack/ag
: Você pode procurar por tudo, começando pela raiz do projeto. Posteriormente, se desejar salvar os resultados da pesquisa, pressioneF3
ou pressioneTAB
para alternar para o menu de ação e selecione a terceira ação. Para navegar nohgrep
buffer:C-<down>
: vá para a próxima partida e abra a partida.C-<up>
: vá para a partida anterior e abra a partida.M-<down>
: ir para a próxima partida sem abrir a partida.M-<up>
: ir para a próxima partida sem abrir a partida.C-o
: abre a correspondência atual em outra janela.RET
: abre a correspondência atual na janela atual.Use
helm-projectile-find-dir
(observe ohelm
prefixo; você deve usar os comandos Helm adequados dohelm-projectile
pacote em geral): restrinja o diretório desejado e pressioneC-u C-s
para pesquisar recursivamente nesse diretório. Se você não pressionarC-u
, ele apenas pesquisará nesse diretório sem aprofundar.Espero que ajude.
fonte
Para um grep recursivo simples dentro do diretório atual, apenas:
M-x grep
então, dentro do minibuffer:Run grep (like this): grep -nHr "pattern"
. (observe o sinalizador -r).Você também pode estar interessado em
rgrep
:fonte
Além das ferramentas mencionadas nas outras respostas, outra função interessante é
find-grep-dired
que cria umdired
buffer que contém todos os arquivos que correspondem a um padrão grep recursivo.Apenas executa
find . \( -type f -exec grep -q -e my-regular-expression \{\} \; \) -ls
e exibe os resultados em umdired
buffer.fonte
Você poderia tentar
helm-do-grep
. Chamar isso com um prefixo arg fornece um grep recursivo, conforme explicado no Helm Wiki .Tente assim:
C-u helm-command-prefix-key M-g s
fonte
helm-projectile-find-dir
é provavelmente a funcionalidade adequada. Você podeprojectile-find-dir
C-u C-s
uma pesquisa recursiva conforme desejado.fonte
Este pacote tem exatamente o que você está procurando:
https://github.com/syohex/emacs-helm-ag
O nome do comando é helm-do-ag.
fonte