私の場合、2つのファイルfile1とfile2があります。 vimdiffを使用して、次のように変更をマージします。
Listing 2
とList 2
がList 2
であり、その後にマージされたファイルでListing 2
が続くなどの違いを意味します。以下にスナップショットを示します。
Vimdiffを使用してこれをどのように達成できますか?
次の基本的なコマンドを使用してマージできます。
do -他のウィンドウから現在のウィンドウへの変更を取得します。
dp -変更を現在のウィンドウから別のウィンドウに入れます。
]c -次の変更にジャンプします。
[c -前の変更にジャンプします。
zo -折れ線を開きます。
zc -折り線を閉じます。
Ctrlww -ウィンドウを変更します。
:only | wq
-他のウィンドウを終了し、書き込み、終了します。
詳細は この記事 をご覧ください。
@David W.が答えで示唆しているように、ウィンドウを切り替えてコピーして貼り付けるだけで違いを解決できますが、Vimにはこれを簡素化する専用の:diffput
および:diffget
コマンドもあります。これら(または対応する通常モードdo
およびdp
コマンド)を使用すると、ウィンドウを切り替える必要はなく、範囲はデフォルトで現在の変更になります。
他のバッファの違いで上書きするのではなくaddが必要な場合(従来の双方向diffではかなり珍しいケースです)、まだyankである必要があります:diffget
の後の行とput.
1つの場所で作業が完了したら、]c
、[c
コマンドを使用して次の違いにジャンプできます。