【问题标题】:Prevent Emacs switch-to-buffer-other-window From Resizing Other Window防止 Emacs switch-to-buffer-other-window 调整其他窗口的大小
【发布时间】:2009-12-10 21:50:26
【问题描述】:

我经常在一个框架中拆分窗口,其中一个比另一个小得多(通常通过 C-u C-u C-x ^ 完成)。这样我就可以在做其他事情时看到一些 sn-p 代码作为参考。

问题是:当我使用 C-x 4 b 切换到其他缓冲区(或 C-x 4 f 在下部窗口中打开一个新文件)时,下部窗口的大小被调整为其原始的半帧高度大小。有没有办法阻止这种情况发生并保持较小的窗口尺寸?

【问题讨论】:

    标签: emacs


    【解决方案1】:

    如果您在运行 C-x 4 f(或类似命令)之前评估 (setq even-window-heights nil),Emacs 将不会尝试平衡窗口的高度。这是even-window-heights 的文档:

    如果非 nil,display-buffer 将尝试调整窗口高度。
    否则 display-buffer 将离开窗口配置
    独自的。只有当 display-buffer 选择一个
    出现在所选窗口上方或下方的窗口。

    我建议编写一个小的 elisp 函数,将此变量设置为 nil,然后调用 switch-to-buffer-other-windowfind-file-other-window,因为这可能是您经常想要做的事情。

    【讨论】:

      【解决方案2】:

      C-x 4 b 并不是真正的导航命令。如果您C-x b 或只是C-x o,您还有问题吗?

      【讨论】:

      • 问题出在导航上。 C-x b 和 C-x o 工作正常。当我想在下部窗口中显示另一个缓冲区(或打开另一个文件)时,事情会被调整大小。编辑了问题以使其更清楚。
      猜你喜欢
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多