请教helm minibuffer输入重复问题


#1

每次用M-x或者其它helm接管的窗口的时候,都会有上下两个输入框,而且底下的那个因为主题的原因,输入的东西根本看不到。 通过helm-echo-input-in-header-line nil可以把上面的隐藏,但是我只想保留上面的,不显示下面的,请问需要怎么配置?而且有个很奇怪的事,在windows上默认就是没有下面的输入框的,在linux terminal都有。


#2

你是怎么让Helm输入在上面而不是minibuffer的?


#3

我记得helm不是用minibuffer,ivy才是


#4

spacemacs里默认就是打开的,如果想关掉上面的,配一下下面的就可以 helm-echo-input-in-header-line nil


#5

是的,windows里就没有下面的,但是用ssh登录到linux上打开spacemacs就有了。


#6

我看了下源代码,你需要:

(setq helm-echo-input-in-header-line t)
(add-hook 'helm-minibuffer-set-up-hook #'helm-hide-minibuffer-maybe)

#7

谢谢回复,试了一下还是不行,我之前搜到过下面类似的配置,试了也是不行。

(defun spacemacs//helm-hide-minibuffer-maybe () “Hide minibuffer in Helm session if we use the header line as input field.” (when (with-helm-buffer helm-echo-input-in-header-line) (let ((ov (make-overlay (point-min) (point-max) nil nil t))) (overlay-put ov 'window (selected-window)) (overlay-put ov 'face (let ((bg-color (face-background 'default nil))) `(:background ,bg-color :foreground ,bg-color))) (setq-local cursor-type nil))))

(add-hook 'helm-minibuffer-set-up-hook 'spacemacs//helm-hide-minibuffer-maybe)


#8

It works on my Emacs, I guess this is because of Spacemacs.