在保持 Helm 结果打开的同时编辑缓冲区

Edit buffer while keeping Helm results open

是否可以在保持Helm缓冲区打开的情况下访问Helm结果列表中的缓冲区?或者有其他方法可以达到同样的效果吗?

我经常需要执行涉及搜索某些文件并访问每个文件的任务,但现在的工作方式是每次访问完缓冲区后我都必须重做搜索。

编辑:FWIW,如果使用 spacemacs,SPC r l 绑定到 helm-resume

Icicles lets you do this. With Icicles search 您可以在搜索结果之间导航(跨搜索缓冲区或文件集)。

搜索结果可以循环,也可以不循环。您可以按任何顺序访问您选择的任何匹配项。您可以通过键入过滤模式来动态过滤命中,您可以随时更改该模式。

您可以组合多个这样的动态过滤器模式,使用几个简单的模式代替一个更复杂的模式。模式匹配可以使用 apropos (regexp) matching or any of several kinds of fuzzy matching. You can also filter by chipping away 动态匹配,从当前更广泛的匹配集中减去它们。

您甚至可以搜索的不是您在搜索开始时定义的搜索上下文,而是它们的 complement

(Icicles search 允许您定义 contexts to search - 例如,仅函数定义或仅评论。其他文本将被忽略(不搜索)。最简单的示例是 lines 的缓冲区作为搜索上下文。行搜索上下文是 grepoccuricicle-occur 使用的内容。)

您还可以 replace 单个搜索匹配项,或匹配您当前输入模式的部分匹配项,按需,无需退出 Icicles 搜索。您可以在搜索过程中随时按需更改替换文本。

在这种替换的有限意义上,您不仅可以访问搜索到的缓冲区,还可以编辑它们,而无需退出搜索。

您可以使用 helm-resume 命令恢复上一个 Helm 会话(默认绑定到 Ctrl-x cb)。这应该可以有效地实现你想要的。

您还可以使用 Ctrl-x Ctrl 将搜索结果保存到缓冲区-s.

helm-follow-mode 将在 helm 结果列表中上下移动光标时显示 helm 列表的结果。

例如,在 Spacemacs 中,SPC T s 打开带有主题列表的 helm,C-c C-f 激活 helm-follow-mode,现在在列表中上下导航时应用主题。