Die erste Antwort ist schön, lässt aber einige kritische Details über moderne Versionen von Emacs aus. Ich bin Emacs selbst bekannt, daher sind sich andere Neulinge möglicherweise dessen nicht bewusst. Wenn Sie das Ziel haben, INNERHALB einer Datei in einem PROJEKT nach Text zu suchen, installieren Sie Projectile zunächst über das MELPA-Repository.
Dadurch wird das Paket in .emacs.d installiert und .emacs in Ihrem $ USER-Verzeichnis wird eine Grundkonfiguration hinzugefügt (vorausgesetzt, Sie haben die .emacs-Datei erstellt), beispielsweise, dass Projectile in Ihrer Emacs-Installation erforderlich ist.
Sie müssen es jedoch noch aktivieren und Keymap-Präfixe zuordnen, damit Sie es im Minipuffer aufrufen können.
In der akzeptierten Antwort wird der folgende Befehl erwähnt:
C-c p s g
Dies funktioniert nur, wenn Sie Projectile mit diesem Keymap-Präfix konfigurieren. Aber ich habe es so konfiguriert, dass Cc Cp als Befehl für Project in .emacs verwendet wird:
(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map)
Nun kann ich mit grep eine Textsuche in Dateien in einem Projekt durchführen:
C-c C-p f # switch to a project first
C-c C-p s g # perform grep search in project
Um es zu zerlegen, C-c C-p
wird Projectile aufgerufen und s g
die Grep-Suche durchgeführt. Sie erhalten eine schöne Ausgabe wie diese, vorausgesetzt, Ihre Suche ist visit_contact
und Sie suchen Rubys rspec in einem Projekt:
./spec/support/capybara_classification_code_helper.rb:21: def visit_contact
./spec/features/admin_edits_classification_code_role_dynamic_field_spec.rb:8: visit_contact
./spec/features/admin_edits_classification_code_role_dynamic_field_spec.rb:33: visit_contact
./spec/features/user_views_global_filters_from_line_item_spec.rb:9: visit_contact
rgrep
ist etwas verwirrend, da standardmäßig alle Dateien ausgeschlossen werden, die Ihren Kriterien für "Unbrauchbare Dateien" entsprechen.