Emacs find-file-other-window命令垂直拆分缓冲区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Emacs find-file-other-window命令垂直拆分缓冲区相关的知识,希望对你有一定的参考价值。

我只是在新机器上设置Emacs而且我遇到了find-file-other-window命令的问题。我通常喜欢的方式是将框架水平分割成两个窗口。我希望能够运行所述命令并让它在另一个窗口中打开文件,但大多数时候它会将当前窗口水平分割为2个新窗口。我如何让它停止这样做?谢谢。

编辑:还想指出,这只有在我将帧缩放到足够大的尺寸时才会发生。

答案

通常这个动作由函数split-window-sensibly执行,并由两个变量split-height-thresholdsplit-width-threshold控制。根据文档

如果'split-height-threshold'指定一个整数,则WINDOW至少是'split-height-threshold'行高且可以垂直分割,将WINDOW分成两个窗口,一个在另一个之上并返回下窗口。否则,如果'split-width-threshold'指定一个整数,则WINDOW的列宽至少为'split-width-threshold',可以水平拆分,将WINDOW并排拆分为两个窗口并返回右侧的窗口。如果无法做到这一点并且WINDOW是其框架上唯一的窗口,请尝试垂直拆分WINDOW,而不考虑'split-height-threshold'指定的任何值。如果成功,则返回下方窗口。否则返回零。

在我的系统上,split-height-threshold的默认值是80,split-width-threshold是160.我认为你可以通过将split-width-threshold设置为更低的值来获得你想要的效果。或者,您可以将split-height-threshold设置为nil,防止它垂直分割,或将变量split-window-preferred-function设置为不同的函数。任何这些都会影响,不仅仅是find-file-in-other-window,还会影响分割屏幕的所有功能。

以上是关于Emacs find-file-other-window命令垂直拆分缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

一些 emacs 桌面保存问题:如何将其更改为保存在 ~/.emacs.d/.emacs.desktop

活动通知:听说Emacs能煮咖啡

设置 .emacs.d 文件夹后如何从 Emacs 运行 Clojure REPL

启动 emacs 时覆盖 .emacs 配置

.emacs 编辑以始终在终端模式下启动 Emacs?

emacs 配置.emacs