Jadi saya ingin helm-swoop
melihat semua file dalam suatu proyek, bukan hanya set buffer terbuka saat ini.
Ini agar saya dapat menggunakan swoop untuk menemukan semua kejadian dalam suatu proyek, tandai yang relevan, kemudian edit (dalam mode edit swoop helm).
Saya merasa bahwa mungkin ada cara yang bersih untuk melakukan ini dengan Helm / Helm swoop tetapi inilah upaya saya untuk memikirkan solusi:
- mengumpulkan nama file dari proyektil
- buat daftar buffer dari daftar nama file
- lakukan rutin yang sama dengan helm-multi-swoop-all selain menggunakan daftar buffer baru ini
(projectile-current-project-files)
, sepertinya itu memberi saya daftar file yang saya cari.
Jadi helm-multi-swoop-all
, sepertinya cukup mudah untuk menyalin dan kemudian men-tweak.
(defun helm-multi-swoop-all (&optional $query)
(interactive)
"Apply all buffers to helm-multi-swoop"
(cond ($query
(setq helm-multi-swoop-query $query))
(mark-active
(let (($st (buffer-substring-no-properties
(region-beginning) (region-end))))
(if (string-match "\n" $st)
(message "Multi line region is not allowed")
(setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize $st)))))
((setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize
(funcall helm-swoop-pre-input-function))))
(t (setq helm-multi-swoop-query "")))
(helm-multi-swoop--exec nil
:$query helm-multi-swoop-query
:$buflist (helm-multi-swoop--get-buffer-list)))
Cukup ganti panggilan ke helm-multi-swoop--get-buffer-list
, ke yang menyediakan daftar buffer menggunakan daftar proyektil.
Tapi sekarang aku agak macet. Saya tidak yakin bagaimana cara membuat daftar buffer untuk dimasukkan ke helm-swoop dari sekumpulan nama file.
Saya juga tidak dapat membantu tetapi berpikir ada cara yang lebih sederhana untuk mencapai ini, mungkin tanpa fungsi khusus.
helm-projectile-ack
sebagai gantinya.helm-swoop
. Apakah melakukanhelm-projectile-grep
dan kemudianF3
M-x
wgrep-mode
membuatnya "dapat diedit"?Jawaban:
Mengikuti komentar menarik dari PythonNut, saya menginstal
helm-ag
, dan berlarihelm-projectile-ag
dari paket proyektil viaC-c p s s
. Saya kemudian beralih ke mode edit denganC-c C-e
. Saya mengubah beberapa baris dan kemudian menekanC-c C-c
dan ini disimpan ke file yang relevan.Ini berfungsi, tetapi saat ini satu infellicity adalah bahwa ia menyimpan masing-masing file "cocok" beberapa kali terlepas dari apakah ada perubahan atau tidak. Saya mengangkat ini sebagai proyektil # 756 .
Selain itu saya pikir itu akan berfungsi dengan baik untuk kebutuhan yang disebutkan dalam pertanyaan, dan "tanpa fungsi khusus" :-)
sumber
helm-git-grep
harus lebih cepat daripadahelm-projectile-ag