防止Emacs切换到缓冲区 - 其他窗口从调整其他窗口大小

时间:2009-12-10 21:50:26

标签: emacs

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

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

2 个答案:

答案 0 :(得分:4)

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

  

如果非零显示缓冲区将尝试均匀窗口高度   否则 display-buffer 将离开窗口配置
  单独。仅当 display-buffer 选择了一个时,高度才会平均   显示在所选窗口上方或下方的窗口。

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

答案 1 :(得分:0)

C-x 4 b实际上不是导航命令。如果您C-x b或只是C-x o,还有问题吗?