Emacs 23中pop-to-buffer的水平分屏?

5

我有几个使用pop-to-buffer函数的脚本。在Emacs 23中,它以前是水平分割窗口,但现在它垂直分割窗口。我已经查看了一些elisp代码,但没有找到解决方法 - 我该如何将Emacs 23的此行为更改为再次水平分割?


1
与此问题的答案相同: https://dev59.com/9nNA5IYBdhLWcg3wbNM4 - scottfrazer
非常正确。我曾经遇到过 Stack Overflow 自动查找问题/答案的问题。我想我最初是从您提供链接的答案中了解到这一点的。对那个答案点个赞。 - Trey Jackson
1个回答

14

在Emacs的新闻中(C-h N),列出了以下内容:

*** display-buffer'尝试在分割窗口时变得更加智能。 新选项 split-window-preferred-function'允许您指定自己的函数来弹出新窗口。 其默认值 split-window-sensibly'可以垂直或 水平地分割一个窗口,取决于当前配置。 您可以通过自定义split-height-threshold'和新 选项`split-width-threshold'来调整 split-window-sensibly的行为。 现在,这两个选项都采用值nil以禁止在一个方向上分割。 将split-width-threshold设置为nil会禁止水平分割,并使您在这方面获得Emacs 22的行为。 在任何情况下,display-buffer现在甚至可以在其宽度不及包含框架宽度的情况下垂直分割最大的窗口。

我认为你想要的是:

(setq split-width-threshold nil)

(但我认为您使用的垂直与水平拆分方式与Emacs术语相反(这对我来说也很不直观))


谢谢,我没想到去检查那里。你说得绝对正确,关于术语,无论是我把它倒过来使用(即使我知道Emacs的用法),还是它确实令人感到违反直觉! - Brad Achorn
这个答案最有用的部分是关于垂直和水平的“你做错了”的建议。 - tacaswell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接