其实终端下也会有点小问题,我用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效果更好