因此,我希望helm-swoop
查看项目中的所有文件,而不仅仅是当前打开的缓冲区集。
这样一来,我可以使用swoop查找项目中的所有事件,标记相关事件,然后进行编辑(在头盔swoops编辑模式下)。
我觉得使用Helm / Helm俯冲可能有一种干净的方法,但这是我尝试通过一种解决方案进行思考的尝试:
- 从弹丸收集文件名
- 从文件名列表创建缓冲区列表
- 除了使用此新缓冲区列表之外,还执行与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中。
我也忍不住想,有一种更简单的方法可以实现这一点,也许不需要自定义功能。
是的,我没想到要在大型项目中使用它。我也希望关闭完成此例程后打开的文件缓冲区。
—
Mike McFarland
另外,头盔-射弹-ack(或ag)几乎是我想要的,除了我希望能够编辑线条(如头盔俯冲允许)
—
Mike McFarland 2015年
我实际上并没有使用
—
PythonNut
helm-swoop
。是否先做一个helm-projectile-grep
,然后F3
M-x
wgrep-mode
使其“可编辑”?
谢谢,我不知道wgrep模式。Helm-projectile-grep正在为我整理被忽略的文件,但helm-projectile-ack与wgrep的配合良好。至少在卸载了来自melpa的wgrep并在这里使用一个后,它才能正常工作。
—
Mike McFarland
helm-projectile-ack
改用。