我只是在新机器上设置Emacs而且我遇到了find-file-other-window
命令的问题。我通常喜欢的方式是将框架水平分割成两个窗口。我希望能够运行所述命令并让它在另一个窗口中打开文件,但大多数时候它会将当前窗口水平分割为2个新窗口。我如何让它停止这样做?谢谢。
编辑:还想指出,这只有在我将帧缩放到足够大的尺寸时才会发生。
通常这个动作由函数split-window-sensibly
执行,并由两个变量split-height-threshold
和split-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
,还会影响分割屏幕的所有功能。