显示缓冲区的Emacs中拆分高度阈值和拆分宽度阈值的反向计算顺序

显示缓冲区的Emacs中拆分高度阈值和拆分宽度阈值的反向计算顺序,emacs,emacs24,Emacs,Emacs24,当显示缓冲区必须在现有窗格中创建新窗口时,首先查看拆分高度阈值的状态,以确定新窗口是否可以低于当前窗口,然后以与并排窗口相同的方式评估拆分宽度阈值 如果宽度足够大,有没有办法让Emacs首先尝试将窗口并排放置?我可以将splitheight threshold设置为nil以完全禁止垂直拆分,但如果当前窗口不够宽,这会使Emacs窃取另一个窗口。您可以通过自定义变量split window preferred function使Emacs做到这一点: (合理地取消拆分窗口(&可选窗口) (let(

显示缓冲区
必须在现有窗格中创建新窗口时,首先查看
拆分高度阈值
的状态,以确定新窗口是否可以低于当前窗口,然后以与并排窗口相同的方式评估
拆分宽度阈值


如果宽度足够大,有没有办法让Emacs首先尝试将窗口并排放置?我可以将
splitheight threshold
设置为
nil
以完全禁止垂直拆分,但如果当前窗口不够宽,这会使Emacs窃取另一个窗口。

您可以通过自定义变量
split window preferred function
使Emacs做到这一点:

(合理地取消拆分窗口(&可选窗口)
(let((窗口(或窗口(选定窗口)))
(或(和(窗口可拆分-p窗口t)
水平分割窗口。
(使用选定的窗口)
(拆分窗口(右)))
(和(窗口-可拆分-p窗口)
垂直分割窗口。
(使用选定的窗口)
(下面是拆分窗口)
(和(均衡器窗口(帧根窗口(窗口帧窗口)))
(不是(window-minibuffer-p窗口))
;如果窗口是其框架上的唯一窗口,而不是
;;迷你缓冲区窗口,尝试将其水平拆分,忽略
;;“分割宽度阈值”的值。
(let((分割宽度阈值0))
(当(窗口-可拆分-p窗口t)
(使用选定的窗口)
(拆分窗口右(()()()())))
(setq拆分窗口首选函数“我的拆分窗口敏感”)
变量
拆分窗口首选函数

指定用于拆分窗口的函数,以便创建用于显示缓冲区的新窗口。
显示缓冲区弹出窗口
操作功能使用它来实际分割窗口

默认情况下,它被设置为
合理地拆分窗口
。我在上面提供的函数是一个改进版的
合理地拆分窗口
(在中定义),它简单地反转了原始函数的步骤,使Emacs“更喜欢”并排的窗口拆分而不是堆叠的窗口拆分