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)
这没有效果 - 窗户仍然水平分开。我还尝试使用Ediff的Emacs Customization界面默认进行垂直分割 - 同样的故事。
请注意,我在与两个垂直分割的缓冲区进行比较时尝试了这一点。我也尝试过没有在缓冲区中打开的文件,并要求Ediff比较两个文件 - 结果相同。
然后我尝试将split-window-horizontal指定为ediff-split和ediff-merge的拆分窗口函数。
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-merge-split-window-function 'split-window-horizontally)
这导致窗口垂直分割(彼此相邻)。当我注释掉这些行并使用Emacs Customization界面设置这些选项时也是如此。
是的,我见过this question,但我不想在全球范围内消除水平分割 - 我只是希望Ediff默认执行此操作。
我是否会失去理智或有人改变了“水平”和“垂直”的含义(顺便说一句,我正在从我的O'副本中采用“垂直”和“水平”分裂的定义Reilly的书“学习Gnu Emacs”)?
答案 0 :(得分:10)
点击" |"当你处于ediff模式时,2个文件加载了从水平到垂直的开关 ""给出一点ediff帮助菜单。 (我在Debian Wheezy上使用emacs 23.4 + 1-4)
答案 1 :(得分:8)
我使用了使用C-h v ediff-split-window-function
调用的emacs变量自定义来更改值。点击Save for future sessions
后,以下内容已写入我的.emacs
:
(custom-set-variables
...
'(ediff-split-window-function (quote split-window-horizontally))
...)
它完全符合我的要求:将两个缓冲区并排放置。是的,emacs使用横向/纵向与您的想法相反。 如果你再次阅读this question,你会看到解释,其他人也会感到困惑。
答案 2 :(得分:0)
虽然它没有完全解答您的问题,但您也可以使用一个函数来指定是根据窗口尺寸垂直或水平分割:
(setq ediff-split-window-function 'split-window-sensibly)
分裂窗口明智地是built-in。