【发布时间】:2014-06-10 19:40:47
【问题描述】:
我想调用M-x helm-swoop,这样它就不会返回该点的符号。我发现它总是会拾取不需要的符号,例如当我在组织模式下调用M-x helm-swoop 时,我得到Swoop: \*,然后我必须删除\*,然后才能输入我想要的搜索词。我怎样才能做到这一点?
【问题讨论】:
标签: emacs emacs-helm
我想调用M-x helm-swoop,这样它就不会返回该点的符号。我发现它总是会拾取不需要的符号,例如当我在组织模式下调用M-x helm-swoop 时,我得到Swoop: \*,然后我必须删除\*,然后才能输入我想要的搜索词。我怎样才能做到这一点?
【问题讨论】:
标签: emacs emacs-helm
这也一直困扰着我,原因完全相同(在 Org 模式缓冲区中获取标题字符),所以这个问题促使我去看看。
查看源代码,Helm-swoop 调用 helm-swoop-pre-input-function 来填充提示,默认情况下,它设置为返回 (thing-at-point 'symbol) 的函数,这就是导致标题问题的原因。
在我的初始化文件中使用以下内容进行快速测试似乎有效:
(setq helm-swoop-pre-input-function
(lambda () nil))
这当然可以通过例如在非 Org 缓冲区中保持默认行为来改进,但由于我只是在 Org 缓冲区中真正使用 swoop,这对我来说已经足够了。
【讨论】:
(add-hook 'org-mode (lambda () (setq-local help-swoop-pre-input-function (lambda () nil))))