我在控制台模式下使用emacs(即没有鼠标,一帧),具有固定的四窗口配置:
+------+------+ | win | win | | 1 | 3 | +------+------+ | win | win | | 2 | 4 | +------+------+
窗口3是我的主要编辑窗口,我大部分时间都在那个窗口.Windows 1和2始终保持相同的两个缓冲区,我很少更改为这些窗口,因为缓冲区自动更新它们并且它们包含只读信息.Windows 4是我的卫星窗口,很高兴大多数打开新缓冲区的emacs命令(例如grep,编译命令等)都显示新的缓冲区总是在Window 4中.这让生活变得非常简单,因为我将F12绑定到了窗口3和窗口4和后面.
坏人是psvn.el. 根据需要,svn-status缓冲区始终在Window 3中打开.
但是所有其他缓冲区(*svn-diff*,*svn-log*,...)在窗口1,2或3中随机打开,我无法预测它们将打开哪一个.有时,同一个缓冲区甚至同时显示在其中两个窗口上,这让我很生气!
我如何告诉emacs/psvn停止这样做?我尝试了所有常用的措施(调整相同的窗口缓冲区名称,分裂高度阈值,分割宽度阈值,...),但到目前为止没有任何工作:-(
请不要涉及ecb的解决方案.
当display-buffer必须在现有窗格中创建一个新窗口时,Emacs 手册规定split-height-threshold首先查看以确定新窗口是否可以低于当前窗口,然后 split-width-threshold以相同的方式评估并排窗口。
如果宽度足够高,有没有办法让 Emacs 先尝试将窗口并排放置?我可以设置split-height-threshold为nil完全禁止垂直拆分,但是如果当前窗口不够宽,这会使 Emacs 窃取另一个窗口。