Jawaban pertama itu indah, tetapi meninggalkan beberapa detail penting tentang versi modern Emacs. Saya tahu Emacs sendiri, jadi pendatang baru mungkin tidak menyadari hal ini. Mengingat tujuan Anda adalah untuk mencari teks DALAM WAKTU file dalam PROYEK, maka Anda akan menginstal proyektil menggunakan repositori MELPA.
Ini menginstal paket di .emacs.d dan menambahkan beberapa konfigurasi dasar ke .emacs di direktori $ USER Anda (dengan asumsi Anda telah membuat file .emacs), seperti memerlukan Proyektil di instal Emacs Anda.
Namun, Anda masih perlu mengaktifkannya dan mengaitkan awalan keymap, sehingga Anda bisa memintanya di buffer mini.
Jawaban yang diterima menyebutkan perintah berikut:
C-c p s g
Ini tidak akan berfungsi, kecuali jika Anda mengkonfigurasi Proyektil dengan awalan keymap ini. Tapi saya mengkonfigurasinya untuk menggunakan Cc Cp sebagai perintah untuk Project di .emacs:
(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map)
Sekarang, saya dapat melakukan pencarian teks dalam file dalam suatu proyek menggunakan grep:
C-c C-p f # switch to a project first
C-c C-p s g # perform grep search in project
Untuk memecahnya, C-c C-p
akan memanggil Proyektil, dan s g
akan melakukan pencarian grep. Anda akan mendapatkan hasil yang indah seperti ini, dengan anggapan pencarian Anda adalah visit_contact
dan Anda mencari rspec Ruby dalam sebuah proyek:
./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
sedikit membingungkan, mengingat secara default tidak termasuk semua file yang cocok dengan kriteria "file tidak berguna" Anda.