Emacs:临时缓冲区的弹出底部窗口

Dan*_*nin 10 emacs elisp

我想有一个弹出的底部窗口,用于临时缓冲区,如编译,完成等.即使根窗口是水平分割,它也应该垂直分割整个帧.例如:在Mx编译之前:

+------+------+
|      |      |
|      |      |
|      |      |
+------+------+

后:

+------+------+
|      |      |
+------+------+
|             |
+------+------+

我对ecb-compilation-window非常满意,但我不想使用ECB和CEDET.实际上我看到了描述行为的两种方式,但两者都有其缺点.

缺点:它使用delete-other-windows函数,然后根据需要拆分根窗口后重建以前的Windows树.它使代码中存在的早期窗口(或任何模块的代码)的所有引用无效.

  • 将window-min-height变量设置为其最小可能值(1),并在emacs启动期间垂直调用split-window-vertical,最小化窗口高度.然后使用此窗口为临时缓冲区设置其高度.

缺点:框架底部有恼人的模式线的小烦人窗口,不适用于emacs --daemon.

是否有更优雅的方法来做到这一点没有缺点

jul*_*ien 13

使用popw​​in!

它的行为就像你开箱即用的那样,配置很简单,只需要一行就可以在屏幕底部弹出任何缓冲区:

(push'("\*anything*":regexp t:height 20)popwin:special-display-config)

有一些更详细的配置示例浮动日本博客,只是google它.