【问题标题】:Emacs: pop-up bottom window for temporary buffersEmacs:临时缓冲区的弹出底部窗口
【发布时间】:2011-02-17 21:23:03
【问题描述】:

我希望有一个弹出式底部窗口用于临时缓冲区,例如 compilationCompletions 等。即使是根窗口,它也应该垂直拆分整个帧被水平分割。例如: M-x 编译前:

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

之后:

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

我对@9​​87654321@ 非常满意,但我不想使用 ECB 和 CEDET。 实际上,我看到有两种方法可以描述行为,但都有各自的缺点。

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

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

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

有没有更优雅的方法可以做到这一点没有缺点

【问题讨论】:

    标签: emacs elisp


    【解决方案1】:

    使用popwin

    它的行为与您描述的一样,开箱即用,配置简单,只需要一行就可以在屏幕底部弹出我的任何缓冲区:

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

    有一些更详细的配置示例在日本博客中流传,只需 google 即可。

    【讨论】:

    • 等等,它的工作方式相同,因此与问题中已经提到的 split-root.el 库具有完全相同的缺点。
    • 嗯,popwin 比 split-root 好(因为它易于配置并且在恢复垂直窗口的原始大小方面没有问题),但它也有 split-root 的问题。无论如何,我喜欢popwin,我想我可以忍受它的缺点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多