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

时间:2011-02-17 21:23:03

标签: emacs elisp

我想有一个弹出窗口,用于临时缓冲区,如编译 Completions 等。即使根窗口,它也应该垂直分割整个帧水平分开。例如: 在M-x编译之前:

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

后:

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

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

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

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

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

有没有更优雅的方法没有缺点

1 个答案:

答案 0 :(得分:13)

使用popwin

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

  

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

有一些更详细的配置示例浮动日本博客,只是谷歌。