2012-03-14 24 views
10

的Emacs 23.1.1 Ediff 2.81.2,Ediff會,默認情況下,水平分割的窗口(一個在另一個的頂部)。ediff-split-window-function horizo​​ntal == vertical?在CentOS 6</p> <p>在此之前任何定製

我希望他們並肩所以我嘗試添加以下行到我的.emacs

(setq ediff-split-window-function 'split-window-vertically) 
(setq ediff-merge-split-window-function 'split-window-vertically) 

這都沒有效果 - 窗戶仍然水平分割。我也嘗試使用Emacs Customization界面來爲Ediff默認垂直分割 - 同樣的故事。

請注意,我試圖與兩個垂直分割的緩衝區進行比較。我也嘗試過沒有在緩衝區打開文件,並要求Ediff比較兩個文件 - 相同的結果。

然後我試圖作爲既ediff分割和ediff合併分割窗函數分裂窗水平地指定。

(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

分窗水平意味着將窗口分成兩個水平相鄰的窗口。 – 2012-12-07 21:34:47

回答

8

我用過emacs可變定製,以C-h v ediff-split-window-function調用來改變數值。點擊Save for future sessions後,下面寫着我的.emacs

(custom-set-variables 
... 
'(ediff-split-window-function (quote split-window-horizontally)) 
...) 

而且它正是我想要的:把兩個緩衝區並排側。是的,emacs使用水平/垂直與你心目中的相反。 如果您再次閱讀this question,您會看到解釋,其他人也會感到困惑。

7

打「|」當您處於Ediff模式時,將2個文件從水平切換到垂直。
「?」給出一個小小的幫助菜單。 (我在Debian喘息使用Emacs 23.4 + 1-4)

0

雖然它並不完全回答你的問題,你也可以使用一個函數來指定是否分割垂直或水平取決於窗口尺寸:

(setq ediff-split-window-function 'split-window-sensibly) 

分窗合理地是built-in

+0

這對我不起作用。 'split-window-sensibly'將一個窗口作爲參數,而'split-window-horizo​​ntal'則佔據一個大小。當Ediff嘗試分割窗口時會導致錯誤。 – PythonNut 2016-01-07 21:03:32

相關問題