ivy弹出的框能不能固定在下方?

其实终端下也会有点小问题,我用putty, superputty, mobaxterm三个试,改变高度后会失效,改变宽度反而不会失效。

试一试winum-mode?

是的,my-set-mini-window-height 这个方案是没错,主要是能找到 frame 改变之后的 hook / 函数,挂上去就可以了。

在官方文档Window-Hooks找到了窗口改变的hook,设置上后基本上稳了。@netjune

(add-hook 'window-size-change-functions 'my-set-mini-window-height)

如果用 window-size-change-functions,那么其它几个 hook 都可以去掉了。

确实是的。。

请问

一个frame可以有几个minibuffer

如果可以有多个 还是放在左侧比较省屏幕空间

没明白什么意思,一个frame好像只有一个minibuffer吧。

放左侧是什么样子?minibuffer显示为neotree那样的左侧形式?

严格来说 buffer(包括 minibuffer)是无形的,只不过把它放到 window 的矩形空间里展示。平时我们都不太注意区分 buffer 和 window,但也算不上什么大问题。

Emacs 把 frame 分割为两部分:edit area 和 echo area。

edit area 可以任意切割 window,而 echo area 只放一个 window,用来展示 minibuffer。所以我们说 minibuffer 等于 echo area 也不为过了。

由于 echo area 的特殊性,所以不可能存在多个。它的位置也是固定的,想要改只能去改 c 源码了。

1 个赞

对,这个hook效果更好