自从我在新机器上安装了emacs以来,我看到了一个丑陋的行为.不幸的是,我的旧.emacs文件相当分散,我无法确定我是否曾经使用elisp来处理这个问题.
问题是这样的:过去我执行的命令会打开一个新的缓冲区,例如grep'ing,或点击搜索结果中的文件名,就会发生以下两种情况之一:
如果只显示一个缓冲区,屏幕将分割一次
如果显示多个缓冲区,则当前缓冲区窗口之后的缓冲区窗口将打开所需的文件
我希望这种行为回来.我现在得到的是以下内容:
Emacs将继续拆分窗口,直到打开四个缓冲区窗口.如果我不断地单击多个grep结果,它们打开的缓冲区窗口将循环通过另外三个(非grep-results)缓冲区窗口.如果他们只是在同一个位置打开,我会喜欢它:结果旁边/下面的"下一个"缓冲区窗口 - 每次都是相同的缓冲区窗口.
有关如何实现这种行为的任何想法?
考虑设置split-height-threshold
一个比帧高更大的值; 这将防止不必要的垂直分裂.
(setq split-height-threshold 999)
如果您更喜欢垂直拆分split-width-threshold
而不是水平拆分,请自定义.
要更精细地控制新缓冲区的显示方式,请自定义display-buffer-function
; 这将允许您完全替换display-buffer
指示缓冲区显示策略的默认函数.