21

私は熱心なemacsユーザーですが、これまでのところ、実行時やなどkdiff3、祖先との3方向のマージに常に使用してきました。マージされるテキストの4つのバージョンすべてを同時に表示できるだけではない方法が本当に好きです。git mergerebasekdiff3

  • 共通の祖先(のバッファAkdiff3
  • 「私たちの」別名「ローカル」(バッファBkdiff3
  • 「彼ら」別名「リモート」(バッファCkdiff3
  • マージ結果またはターゲット

また、色の強調表示により、 ABCの違いを明確にします。ただし、本格的なテキストエディタではないため、マージバッファのテキスト編集に関しては、kdiff3当然のことながら問題があります。また、箱から出してすぐに優れたパッケージと統合することもできません。そのため、この特定のシナリオで競合を解決するときに使用に切り替えようとしています(私は長年、他のユースケースで正常に使用しています)。emacskdiff3magitediffediff

しかし、ediffマニュアルEmacsWikiページを読み、IRCに質問したにもかかわらず#emacs、4つのバッファーすべてを同時に表示する方法を見つけることができません。デフォルトでは、次のように表示されます。

  • 「ours」別名「local」(ラベル付きバッファA
  • 「彼ら」別名「リモート」(ラベル付きバッファB
  • マージ結果またはターゲット(ラベル付きバッファーC

を押すと、マージ結果バッファー( C/ )を表示するウィンドウが切り替わり、祖先バッファーが表示されますが、祖先とマージ結果を同時に表示することはできません。(また、祖先バッファーの差分は単一の色で強調表示されており、他の2つの表示バッファー( AB)とどのビットが異なるかが明確に示されていませんが、このスレッドによると、残念ながら祖先の差分の改良は行われていないようです。まだ実装されていません。)

ediff4つのバッファーすべてを同時に表示するように構成する簡単な方法はありますか?

4

2 に答える 2

6

これはトランクバージョンに追加されています。現在、デフォルトでは、3方向マージは、「ローカル」(バッファーA)、「リモート」(バッファーB)、マージ結果(バッファーC)、および祖先の4つのバッファーを表示します。このデフォルトを変更して、新しいオプション「ediff-show-ancestor」をカスタマイズできます。

キー'/'は新しいコマンド'ediff-toggle-show-ancestor'にバインドされます。3つ(ローカル、リモート、結果)または4つ(ローカル、リモート、結果、祖先)のバッファーを表示するかどうかを切り替えます。

これらの変更は、Emacs26.1リリースで表示されます。

于 2017-03-14T07:46:52.840 に答える
1

いいえ、それを行うように構成する簡単な方法はありません。オプションがあり、ediff-window-setup-function必要な機能にカスタマイズできます。デフォルトを確認して、ediff-setup-windows-plainediff-setup-windows-multiをする必要があるかを知ることができます。実際、続行する最も簡単な方法は、それらの1つをemacs構成にコピーして変更することです(もちろん、名前を変更します)。彼らは些細なことではありません。

于 2013-07-31T17:26:38.653 に答える