Un grep recursivo en un directorio debería ser lo más simple, pero aún no he encontrado la receta para que funcione. Estoy haciendo malabarismos con los siguientes comandos y no estoy seguro de cuál tiene la funcionalidad oculta:
helm-find-files
: El problema es que esto es realmente malo para encontrar un directorio de forma recursiva.projectile-find-dir
: ¡Esto es genial para encontrar el directorio! Sin embargo, a pesar de usar helm complete, no terminas en modo helm, por lo que elC-u C-s
comando no funciona aquí.helm-find
: acerta la recursividad pero apunta a archivos, no a directorioshelm-projectile-find-dir
: Parece ser lo que quiero.
helm
projectile
grep
djechlin
fuente
fuente
Respuestas:
Tienes dos formas:
Uso
helm-projectile-grep/ack/ag
: puede buscar todo a partir de la raíz del proyecto. Más adelante, si desea guardar los resultados de la búsqueda, presioneF3
o presioneTAB
para cambiar al menú de acciones y seleccionar la tercera acción. Para navegar en elhgrep
búfer:C-<down>
: ir al siguiente partido y abrir el partido.C-<up>
: ir al partido anterior y abrir el partido.M-<down>
: ir al siguiente partido sin abrir el partido.M-<up>
: ir al siguiente partido sin abrir el partido.C-o
: abre la coincidencia actual en otra ventana.RET
: abre la coincidencia actual en la ventana actual.Uso
helm-projectile-find-dir
(tenga en cuenta elhelm
prefijo; debe usar los comandos Helm adecuados delhelm-projectile
paquete en general): limite al directorio deseado y presioneC-u C-s
para buscar recursivamente en ese directorio. Si no presionaC-u
, solo busca en ese directorio sin profundizar.Espero que ayude.
fuente
Para un simple grep recursivo dentro del directorio actual, simplemente:
M-x grep
a continuación, dentro de la minibuffer:Run grep (like this): grep -nHr "pattern"
. (observe la bandera -r).También te puede interesar
rgrep
:fuente
Además de las herramientas mencionadas en las otras respuestas, otra función interesante es
find-grep-dired
crear undired
búfer que contiene todos los archivos que coinciden con un patrón grep recursivo.Simplemente se ejecuta
find . \( -type f -exec grep -q -e my-regular-expression \{\} \; \) -ls
y muestra los resultados en undired
búfer.fuente
Podrías intentarlo
helm-do-grep
. Llamarlo con un prefijo arg le da un grep recursivo, como se explica en Helm Wiki .Pruébalo así:
C-u helm-command-prefix-key M-g s
fuente
helm-projectile-find-dir
Es probablemente la funcionalidad adecuada. Usted puedeprojectile-find-dir
C-u C-s
una búsqueda recursiva según lo desee.fuente
Este paquete tiene exactamente lo que está buscando:
https://github.com/syohex/emacs-helm-ag
El nombre del comando es helm-do-ag.
fuente