だから、現在開いているバッファのセットだけでなく、プロジェクト内のすべてのファイルをhelm-swoop
見たいと思っています。
これにより、swoopを使用してプロジェクト内のすべての出現箇所を検索し、関連するものをマークしてから編集できます(ヘルムスイープの編集モードで)。
Helm / Helm swoopでこれを行うにはおそらくクリーンな方法があると思いますが、解決策を考えようとする私の試みは次のとおりです。
- 発射物からファイル名を収集する
- ファイル名リストからバッファのリストを作成します
- この新しいバッファリストを使用するほか、helm-multi-swoop-allと同じルーチンを実行する
(projectile-current-project-files)
、探しているファイルのリストが表示されるようです。
だからhelm-multi-swoop-all
、コピーして微調整するのはかなり簡単だと思われます。
(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)))
の呼び出しをhelm-multi-swoop--get-buffer-list
、発射物リストを使用してバッファのリストを提供する呼び出しに置き換えるだけです。
しかし、今私は少し立ち往生しています。一連のファイル名からhelm-swoopにフィードするバッファーのリストを作成する方法がわかりません。
私も助けることはできませんが、おそらくカスタム関数を使用せずに、これを達成するためのより簡単な方法があると思います。
helm-swoop
。やってないhelm-projectile-grep
し、次にF3
M-x
wgrep-mode
、それは、「編集可能」にしますか?
helm-projectile-ack
代わりに使用することをお勧めします。