ediff-split-window-function horizo​​ntal == vertical?

roa*_*der 11 split window emacs-ediff

Emacs 23.1.1在CentOs 6上的Ediff 2.81.2

在进行任何自定义之前,Ediff默认会将窗口水平分割(一个在另一个上面).

我希望它们并排,所以我尝试将以下行添加到我的.emacs中

(setq ediff-split-window-function 'split-window-vertically)
(setq ediff-merge-split-window-function 'split-window-vertically)
Run Code Online (Sandbox Code Playgroud)

这没有任何效果 - 窗户仍然水平分开.我还尝试使用Ediff的Emacs Customization界面默认进行垂直拆分 - 同样的故事.

请注意,我在与两个垂直分割的缓冲区进行比较时尝试了这一点.我也尝试过没有在缓冲区中打开的文件,并要求Ediff比较两个文件 - 相同的结果.

然后我尝试将split-window-horizo​​ntal指定为ediff-split和ediff-merge的分割窗口函数.

(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-merge-split-window-function 'split-window-horizontally)
Run Code Online (Sandbox Code Playgroud)

这导致窗口垂直分割(彼此相邻).当我注释掉这些行并使用Emacs Customization界面设置这些选项时也是如此.

是的,我已经看到了这个问题,但我不想在全球范围内消除水平分裂 - 我只是希望Ediff默认情况下这样做.

我是否会失去理智,或者有人改变了"横向"和"垂直"的含义(顺便说一下,我正在从我的O'Reilly书的副本中采用"垂直"和"横向"分裂的定义"学习Gnu Emacs")?

Fab*_*oli 12

点击"|" 当你处于ediff模式时,2个文件加载从水平到垂直的开关.
"?" 给出一点ediff帮助菜单.(我在Debian Wheezy上使用emacs 23.4 + 1-4)


Fre*_*oen 9

我使用emacs变量自定义,调用with C-h v ediff-split-window-function来更改值.点击Save for future sessions以下后写入我的.emacs:

(custom-set-variables
...
 '(ediff-split-window-function (quote split-window-horizontally))
...)
Run Code Online (Sandbox Code Playgroud)

它完全符合我的要求:将两个缓冲区并排放置.是的,emacs使用横向/纵向与您的想法相反.如果你再次阅读这个问题,你会看到解释,其他人也会感到困惑.