我正在使用以下内容。
(global-set-key [f9] 'helm-do-grep-1)
但是当我按 f9 时,它会抱怨类型参数错误。我只是希望它像“Cu Cc h g”这样的行为递归地grep。但是键入这么多键很无聊。
更新:我需要递归 grep。helm-do-grep 以非递归模式运行。
我正在使用以下内容。
(global-set-key [f9] 'helm-do-grep-1)
但是当我按 f9 时,它会抱怨类型参数错误。我只是希望它像“Cu Cc h g”这样的行为递归地grep。但是键入这么多键很无聊。
更新:我需要递归 grep。helm-do-grep 以非递归模式运行。
您可以使用
(global-set-key [f9]
(lambda ()
(interactive)
(let ((current-prefix-arg 't))
(call-interactively 'helm-do-grep))))
更新。如果您有兴趣:带有 kbd 序列的版本
(global-set-key [f9]
(lambda ()
(interactive)
(let ((minibuffer-message-timeout 0))
(execute-kbd-macro (read-kbd-macro "C-u C-c h g C-x Q"))))
C-x Q请参阅此处的定义https://stackoverflow.com/a/28435402/1937596
正如错误消息已经指出的那样,该函数helm-do-grep-1
有一个参数:https ://github.com/emacs-helm/helm/blob/master/helm-grep.el#L810
可能您想要的是绑定f9
到helm-do-grep
哪些调用helm-do-grep-1
以返回正确的参数(
https://github.com/emacs-helm/helm/blob/master/helm-grep.el#L1129)
(global-set-key [f9] 'helm-do-grep)
更新:
(global-set-key [f5]
(lambda ()
(interactive)
(call-interactively (key-binding (kbd "C-c h g")))))
在这种情况下,您调用helm-do-grep
using<f5>
和递归方法 with C-u <f5>
。但是,这种方法将取决于您的键绑定。