helm-ag (atau serupa) hanya ditemukan di file javascript

10

Saya ingin membatasi find / grep untuk (katakanlah) hanya file javascript (terutama karena itulah yang saya lakukan di "editor lain").

File Javascript di proyek Ruby-on-Rails lawas saya memiliki salah satu ekstensi file ini: -

.js, .js.erb, .coffee, .js.coffee, .js.coffee.erb, .jsx, .js.jsx, .js.jsx.erb (dan mungkin lebih)

Jika saya bisa, saya akan membatasi temukan ke file dengan ekstensi file ini, dan pra-definisikan daftar ini sehingga saya tidak perlu mengetiknya setiap kali.

Saya pikir saya perlu menulis fungsi khusus, jika ada cara untuk menentukan jenis file, tapi saya kesulitan menemukan cara melakukan ini .. dan mungkin saya baru saja mengambil alur kerja yang aneh dari editor lama saya?

EDIT: maaf pertanyaannya tidak jelas .. saya tidak ingin memperbaikinya sehingga emacs selalu mencari dalam file Javascript .. ketika saya ingin mencari dalam file Javascript, saya ingin mencari hanya file dengan ekstensi itu .. saat saya ingin mencari di file html saya hanya ingin mencari di file dengan ekstensi .html, .html.erb, .html.haml, .haml, dll.

mustISignUp
sumber

Jawaban:

11

Jika Anda menggunakan helm-agperintah, Anda dapat menentukan opsi seperti -G\.js$ search_pattern, atau jika Anda menggunakan helm-do-ag, Anda dapat menggunakan C-uawalan untuk menentukan ekstensi.

Ini screencast.

masukkan deskripsi gambar di sini

Terima kasih telah menggunakan helm-ag.

syohex
sumber
1
Bagaimana kita menentukan untuk mencari hanya dalam file .js dan .java? (yaitu, 2 ekstensi file berbeda)
user3341592
2
Saya tidak pernah mengerti nama helm-agdan helm-do-ag. Apa yang sebenarnya mereka maksud? Bagaimana cara mengingat apa yang mereka lakukan?
user3341592
1

Anda dapat menggunakan helm-ag-use-grep-ign-list dan tentukan pola abaikan di grep-find-ignored-filesdan grep-find-ignored-director.

Tu Do
sumber
1

Meskipun ada dalam pikiran Anda daftar jenis file yang ingin Anda cari perhatikan bahwa argumen umum findyang memilih file adalah -nameyang mengambil pola globbing. Jadi sesuatu seperti -name *.ns.*harus cocok dengan semua file Javascript di proyek Anda.

Helm dan integrasi ag mungkin memiliki sesuatu yang serupa.

Perintah ini merekam riwayat. Gunakan C-patau panah atas untuk mengembalikan grep-findpencarian sebelumnya . Anda dapat menggunakan C-r .ns.untuk mengingat pencarian terakhir yang Anda lakukan di file Javascript, lalu cukup edit pola pencarian.

Lost 'n Found
sumber
1

Jika menggunakan ag

Jika Anda menggunakan ag, Anda dapat menempatkan .agignorefile di root proyek dengan file yang ingin Anda abaikan. Ini sebuah contoh:

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