Bu nedenle , sadece mevcut açık arabellek kümesine değil, bir projedeki tüm dosyalara helm-swoop
bakmak istiyorum .
Bu yüzden, bir projedeki tüm oluşumları bulmak, alakalı olanları işaretlemek, sonra bunları düzenlemek için dümen sesini kullanabilirim (dümen swoops düzenleme modunda).
Helm / Helm swoop ile bunu yapmanın muhtemelen temiz bir yolu olduğunu hissediyorum ama işte bir çözüm yoluyla düşünme girişimim:
- mermiden dosya adları topla
- dosya adı listesinden arabellek listesi oluşturma
- Bu yeni arabellek listesini kullanmanın yanı sıra dümen-çok-swoop-all ile aynı rutini yap
(projectile-current-project-files)
, bana aradığım dosya listesini veriyor gibi görünüyor.
Yani helm-multi-swoop-all
, kopyalamak ve sonra ince ayar yapmak oldukça kolay olacak gibi görünüyor.
(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)))
Sadece çağrıyı helm-multi-swoop--get-buffer-list
, mermi listesini kullanarak arabelleklerin listesini sağlayan birine değiştirin .
Ama şimdi biraz sıkıştım. Nasıl bir dizi dosya adından dümen-swoop beslemek için arabellek listesi oluşturmak için emin değilim.
Ben de yardım edemem, ancak belki de özel işlevler olmadan bunu başarmanın daha basit bir yolu olduğunu düşünüyorum.
helm-swoop
. Bir helm-projectile-grep
ve sonra F3
M-x
wgrep-mode
bunu "düzenlenebilir" yapar mı?
helm-projectile-ack
yerine kullanmanızı öneririm .