【发布时间】:2009-12-10 21:50:26
【问题描述】:
我经常在一个框架中拆分窗口,其中一个比另一个小得多(通常通过 C-u C-u C-x ^ 完成)。这样我就可以在做其他事情时看到一些 sn-p 代码作为参考。
问题是:当我使用 C-x 4 b 切换到其他缓冲区(或 C-x 4 f 在下部窗口中打开一个新文件)时,下部窗口的大小被调整为其原始的半帧高度大小。有没有办法阻止这种情况发生并保持较小的窗口尺寸?
【问题讨论】:
标签: emacs
我经常在一个框架中拆分窗口,其中一个比另一个小得多(通常通过 C-u C-u C-x ^ 完成)。这样我就可以在做其他事情时看到一些 sn-p 代码作为参考。
问题是:当我使用 C-x 4 b 切换到其他缓冲区(或 C-x 4 f 在下部窗口中打开一个新文件)时,下部窗口的大小被调整为其原始的半帧高度大小。有没有办法阻止这种情况发生并保持较小的窗口尺寸?
【问题讨论】:
标签: emacs
如果您在运行 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-window 或 find-file-other-window,因为这可能是您经常想要做的事情。
【讨论】:
C-x 4 b 并不是真正的导航命令。如果您C-x b 或只是C-x o,您还有问题吗?
【讨论】: