Ich möchte nach Schlüsselwörtern in einem Stapel von Dateien in meinem Windows-PC mit Emacs suchen.
Das liegt zum Teil daran, dass ich fortgeschrittenere Funktionen von Emacs erlernen möchte. Dies liegt auch daran, dass der Windows-PC durch Unternehmensrichtlinien gesperrt ist. Ich kann keine nützlichen Anwendungen wie cygwin nach Belieben installieren.
Also habe ich diesen Befehl ausprobiert: M-x rgrep
Es wird die folgende Fehlermeldung ausgegeben:
*- mode: grep; default-directory: "c:/Users/me/Desktop/Project" -*-
Grep started at Wed Oct 16 18:37:43
find . -type d "(" -path "*/SCCS" -o -path "*/RCS" -o -path "*/CVS" -o -path "*/MCVS" -o -path "*/.svn" -o -path "*/.git" -o -path "*/.hg" -o -path "*/.bzr" -o -path "*/_MTN" -o -path "*/_darcs" -o -path "*/{arch}" ")" -prune -o "(" -name ".#*" -o -name "*.o" -o -name "*~" -o -name "*.bin" -o -name "*.bak" -o -name "*.obj" -o -name "*.map" -o -name "*.ico" -o -name "*.pif" -o -name "*.lnk" -o -name "*.a" -o -name "*.ln" -o -name "*.blg" -o -name "*.bbl" -o -name "*.dll" -o -name "*.drv" -o -name "*.vxd" -o -name "*.386" -o -name "*.elc" -o -name "*.lof" -o -name "*.glo" -o -name "*.idx" -o -name "*.lot" -o -name "*.fmt" -o -name "*.tfm" -o -name "*.class" -o -name "*.fas" -o -name "*.lib" -o -name "*.mem" -o -name "*.x86f" -o -name "*.sparcf" -o -name "*.dfsl" -o -name "*.pfsl" -o -name "*.d64fsl" -o -name "*.p64fsl" -o -name "*.lx64fsl" -o -name "*.lx32fsl" -o -name "*.dx64fsl" -o -name "*.dx32fsl" -o -name "*.fx64fsl" -o -name "*.fx32fsl" -o -name "*.sx64fsl" -o -name "*.sx32fsl" -o -name "*.wx64fsl" -o -name "*.wx32fsl" -o -name "*.fasl" -o -name "*.ufsl" -o -name "*.fsl" -o -name "*.dxl" -o -name "*.lo" -o -name "*.la" -o -name "*.gmo" -o -name "*.mo" -o -name "*.toc" -o -name "*.aux" -o -name "*.cp" -o -name "*.fn" -o -name "*.ky" -o -name "*.pg" -o -name "*.tp" -o -name "*.vr" -o -name "*.cps" -o -name "*.fns" -o -name "*.kys" -o -name "*.pgs" -o -name "*.tps" -o -name "*.vrs" -o -name "*.pyc" -o -name "*.pyo" ")" -prune -o -type f "(" -iname "*.sh" ")" -exec grep -i -n "action" {} NUL ";"
FIND: Parameter format not correct
Grep exited abnormally with code 2 at Wed Oct 16 18:37:44
Ich glaube rgrep
hat versucht, einen Prozess zu erzeugen und rief mit allen Parametern 'FIND' auf. Da es sich jedoch um Windows handelt, ist dies die Standardeinstellung Find
Die ausführbare Datei weiß einfach nicht, wie sie damit umgehen soll.
Wie kann ich in Emacs auf Windows-Plattformen in mehreren Dateien nach einem Schlüsselwort suchen, ohne von externen Programmen abhängig zu sein?
Emacs-Version: 24.2.1
rgrep
Durchsucht solche untergeordneten Verzeichnisse, aber die Antwort von @ Dror reagiert auf die OP-Anforderung, eine "Menge von Dateien" zu suchen:A
(dired-do-search
) ist eine gute Antwort. Eine noch bessere Antwort ist in dieser HinsichtM-s a C-s
(dired-do-isearch
).i
Wenn sich der Punkt in einem Unterverzeichnis befindet, wird dies zur Liste in demselben Puffer.