helm-ag (oder ähnliches) nur in Javascript-Dateien finden

10

Ich möchte find / grep auf (sagen wir) nur Javascript-Dateien beschränken (hauptsächlich, weil ich das in "einem anderen Editor" mache).

Javascript-Dateien in meinem alten Ruby-on-Rails-Projekt haben eine der folgenden Dateierweiterungen: -

.js, .js.erb, .coffee, .js.coffee, .js.coffee.erb, .jsx, .js.jsx, .js.jsx.erb (und vielleicht mehr)

Wenn ich könnte, würde ich die Suche auf Dateien mit diesen Dateierweiterungen beschränken und diese Liste vordefinieren, damit ich sie nicht jedes Mal eingeben muss.

Ich denke, ich muss eine benutzerdefinierte Funktion schreiben, wenn es eine Möglichkeit gibt, den Dateityp anzugeben, aber ich habe Schwierigkeiten herauszufinden, wie das geht. Und vielleicht habe ich gerade einen seltsamen Workflow aus meinem alten Editor übernommen?

EDIT: Entschuldigung, die Frage war nicht klar. Ich möchte sie nicht beheben, damit Emacs immer in Javascript-Dateien sucht. Wenn ich in Javascript-Dateien suchen möchte, möchte ich nur Dateien mit diesen Erweiterungen suchen Ich möchte in HTML-Dateien suchen Ich möchte nur in Dateien mit den Erweiterungen .html, .html.erb, .html.haml, .haml usw. suchen.

mustISignUp
quelle

Antworten:

11

Wenn Sie den helm-agBefehl verwenden, können Sie eine Option wie angeben -G\.js$ search_pattern, oder wenn Sie verwenden helm-do-ag, können Sie das C-uPräfix zum Festlegen der Erweiterung verwenden.

Dies ist ein Screencast.

Geben Sie hier die Bildbeschreibung ein

Danke für die Verwendung helm-ag.

syohex
quelle
1
Wie können wir angeben, dass nur in .js und in .java-Dateien gesucht werden soll? (das heißt, 2 verschiedene Dateierweiterungen)
user3341592
2
Ich habe die Namen helm-agund nie verstanden helm-do-ag. Was meinen sie wirklich? Wie kann man sich daran erinnern, was sie tun?
user3341592
1

Obwohl Sie an eine Liste von Dateitypen denken, nach finddenen Sie suchen möchten, stellen Sie fest, dass das übliche Argument für die Auswahl von Dateien -nameein globierendes Muster ist. So etwas -name *.ns.*sollte also mit allen Javascript-Dateien in Ihrem Projekt übereinstimmen.

Helm und seine Ag- Integration haben wahrscheinlich etwas Ähnliches.

Diese Befehle zeichnen den Verlauf auf. Verwenden Sie C-poder den Aufwärtspfeil, um frühere grep-findSuchvorgänge wiederherzustellen. Sie können C-r .ns.die letzte Suche in Javascript-Dateien abrufen und dann einfach das Suchmuster bearbeiten.

Lost 'n Found
quelle
1

Bei Verwendung ag

Wenn Sie verwenden ag, können Sie eine .agignoreDatei mit den Dateien, die Sie ignorieren möchten, im Projektstamm ablegen. Hier ist ein Beispiel:

# Extension ignores
*.log
*~
*#*#
*.txt
Kaushal Modi
quelle