gpt4 book ai didi

Emacs Helm 完成 : how to turn off persistent-help_line?

转载 作者:行者123 更新时间:2023-12-02 17:40:12 25 4
gpt4 key购买 nike

我想使用 helm 作为 display-completion-list 的直接替代品。唯一的问题是它在顶部显示这一行,这是我不想要的:

C-z:我不想在此处添加此行(保持 session )

下面是用于说明的代码:

(helm :sources `((name . "Do you have?")
(candidates . ("Red Leicester"
"Tilsit"
"Caerphilly"
"Bel Paese"
"Red Windsor"
"Stilton"))
(action . identity)
(persistent-help . "I don't want this line here"))
:buffer "*cheese shop*")

我尝试将persistent-help设置为nil,或者根本不设置它,但它仍然出现。我怎样才能将其关闭?

最佳答案

属性 helm-persistent-help-string 随库 helm-plugin 一起提供。如果不加载它,您将得不到帮助字符串。如果您出于某种原因需要加载 helm-plugin,您可以通过以下方式禁用 helm-persistent-help-string 功能:

(defadvice helm-persistent-help-string (around avoid-help-message activate)
"Avoid help message"
)

如果你想完全删除灰色标题行,你可以这样做:

(defadvice helm-display-mode-line (after undisplay-header activate)
(setq header-line-format nil))

使用 defadvice,您可以全局更改 helm 的行为。如果您想暂时更改 helm-display-mode-line 来执行 helm 命令,您可以使用:

(defmacro save-function (func &rest body)
"Save the definition of func in symbol ad-func and execute body like `progn'
Afterwards the old definition of func is restored."
`(let ((ad-func (if (autoloadp (symbol-function ',func)) (autoload-do-load (symbol-function ',func)) (symbol-function ',func))))
(unwind-protect
(progn
,@body
)
(fset ',func ad-func)
)))

(save-function helm-display-mode-line
(fset 'helm-display-mode-line '(lambda (source)
(apply ad-func (list source))
(setq header-line-format nil)))
(helm :sources `((name . "Do you have?")
(candidates . ("Red Leicester"
"Tilsit"
"Caerphilly"
"Bel Paese"
"Red Windsor"
"Stilton"))
(action . identity)
(persistent-help . "I don't want this line here"))
:buffer "*cheese shop*"))

(请注意,像 cl-flet 这样的东西不能以这种方式工作。)

关于Emacs Helm 完成 : how to turn off persistent-help_line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com