La prima risposta è bellissima, ma tralascia alcuni dettagli critici sulle versioni moderne di Emacs. Conosco Emacs da solo, quindi altri neofiti potrebbero non esserne consapevoli. Dato che il tuo obiettivo è quello di cercare il testo ALL'INTERNO di un file in un PROGETTO, devi prima installare Projectile usando il repository MELPA.
Questo installa il pacchetto in .emacs.d e aggiunge alcune configurazioni di base a .emacs nella directory $ USER (supponendo che tu abbia creato il file .emacs), come richiedere Projectile nella tua installazione di Emacs.
Tuttavia, è ancora necessario abilitarlo e associare i prefissi keymap, quindi è possibile richiamarlo nel mini buffer.
La risposta accettata menziona il seguente comando:
C-c p s g
Questo non funzionerà, a meno che non si configuri Projectile con questo prefisso keymap. Ma l'ho configurato per usare Cc Cp come comando per Project in .emacs:
(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map)
Ora dato questo, sono in grado di eseguire ricerche di testo nei file in un progetto usando grep:
C-c C-p f # switch to a project first
C-c C-p s g # perform grep search in project
Per scomporlo, C-c C-p
invocherà Projectile ed s g
eseguirà la ricerca grep. Otterrai un risultato bellissimo come questo, supponendo che la tua ricerca sia visit_contact
e stai cercando l'RSPec di Ruby in un progetto:
./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
è un po 'confuso, dato che esclude tutti i file che corrispondono ai tuoi criteri "file inutili" per impostazione predefinita.