有没有方法能让 M-x prompt 的那一行永远固定在 Minibuffer 的最底下?这样 completing-read 弹出的列表就位于 modeline 和 prompt中间。眼睛看起来更方便,我好像找不到相关的变量来控制。不知道大家有没有这样设置好的?
mct.el?
对对,就是你这样的,不知道你截图的这个用的是哪一个包呢?我在vertico中也没找到相关的设置。谢谢~
我主要使用terminal,所以posframe就不考虑了呢,谢谢提醒
好的,我去看一下。
好的,我在vertico/extensions/ 中找到了 vertico-reverse-mode.谢谢。
2 个赞
我只需要更改prompt line位置,不需要reverse candidates,所以还是不用vertico-reverse-mode了。魔改了一下,加了一个advice即可。
(defun ad/vertico--display-prompt-bottom (lines)
"Set prompt line to bottom in `vertico-mode'."
(move-overlay vertico--candidates-ov (point-min) (point-min))
(unless (eq vertico-resize t)
(setq lines (nconc (make-list (max 0 (- vertico-count (length lines))) "\n") lines)))
(let ((string (apply #'concat lines)))
(add-face-text-property 0 (length string) 'default 'append string)
(overlay-put vertico--candidates-ov 'before-string string))
(vertico--resize-window (length lines)))
(advice-add 'vertico--display-candidates :override #'ad/vertico--display-prompt-bottom)
题外话,你可以试试 vertico-buffer-mode 放到上面我还挺喜欢的。
好的,去看看