13

CentOs 6 上の Emacs 23.1.1 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 カスタマイズ インターフェイスを使用して、デフォルトで垂直分割を取得しようとしました - 同じ話です。

垂直に分割された 2 つのバッファーとの比較でこれを試したことに注意してください。また、バッファでファイルを開いていない状態で試し、Ediff に 2 つのファイルを比較するように依頼しましたが、結果は同じでした。

次に、ediff-split と ediff-merge の両方の分割ウィンドウ関数として、split-window-horizo​​ntally を指定してみました。

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

これにより、ウィンドウが垂直に (互いに隣り合って) 分割されました。これは、これらの行をコメントアウトし、Emacs Customization インターフェイスを使用してこれらのオプションを設定した場合にも当てはまりました。

はい、私はこの質問を見てきましたが、グローバルベースで水平分割を排除したくありません.Ediffにデフォルトでそれを実行させたいだけです.

私は頭がおかしくなったのでしょうか、それとも誰かが「水平」と「垂直」の意味を入れ替えたのでしょうか (ちなみに、「垂直」と「水平」の定義は、オライリーの本から分離して使用しています。) Gnu Emacs を学ぶ")?

4

3 に答える 3

12

で呼び出されC-h v ediff-split-window-functionて値を変更するemacs変数のカスタマイズを使用しました。クリックした後Save for future sessions、次のように書かれました.emacs

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

そして、それはまさに私が望むことをします:2つのバッファーを並べて配置します。そして、はい、emacsはあなたが考えていたものとは反対に水平/垂直を使用します。この質問をもう一度読むと、説明が表示され、他の人も混乱していました。

于 2012-03-21T13:30:01.323 に答える