Vim-diff
Vim-差分
UNIX diffコマンドと同様に、Vimを使用してdiffをより適切に表示できます。 カラフルな方法で差分を表示します。 この章では、次の項目について説明します-
- ファイル間の違いを表示する
- 差分モードの有効化と無効化
- 差分モードでのナビゲーション
- 差分ウィンドウから変更を適用する
差を表示
ファイル間の違いを表示するには、以下のコマンドを実行します-
$ vimdiff <file> <file>
OR
$ vim –d <file> <file>
たとえば、以下のコマンドは違いを示しています-
上の画像では、マゼンタ色で強調されたテキストが一般的です。 残りのテキストは赤色で強調表示され、一般的なテキストの後にいくつかの違いがあることを示します。
差分モードの有効化と無効化
あなたがすでにvimにいて、diffアクションを実行したい場合は、次のコマンドのいずれかを使用します-
拡散する
以下のコマンドを使用して、水平分割を実行します-
:diffsplit filename
上の画像は、message-1.txtとmessage-2.txtの2つのファイルを比較していることを示しています。
垂直拡散
垂直分割を実行するには、次のコマンドを使用します-
:vert diffsplit <filename>
次のウィンドウが開きます-
上の画像は、message-1.txtとmessage-2.txtの2つのファイルを比較していることを示しています。
差分モードでのナビゲーション
差分モードでのナビゲーションは少し異なります。 たとえば、あるウィンドウのテキストをスクロールすると、隣接するウィンドウのテキストもスクロールします。 これはscrollbindと呼ばれます。 この使用を有効にするには-
:set scrollbind
この使用を無効にするには-
:set noscrollbind
このモードでファイルを編集する場合は、次のコマンドを使用して差分を更新します-
:diffupdate
差分ウィンドウを切り替える
差分ウィンドウを切り替えるには、次のコマンドを実行します-
Ctrl + w Ctrl + w
Ctrl + wを2回押す必要があることに注意してください。
前の変更にジャンプ
差分ウィンドウで、次のコマンドを実行して前の変更にジャンプします-
[c
次の変更にジャンプ
差分ウィンドウで、次の変更にジャンプするには、次のコマンドを実行します-
]c
差分ウィンドウから変更を適用する
現在の差分ウィンドウに変更を適用する
隣接する差分ウィンドウから現在の差分ウィンドウに変更を適用するには、次を実行します-
:diffget
たとえば、左側のウィンドウにいて、右側のウィンドウから現在のウィンドウに変更する場合は、上記のコマンドを実行します。
現在のペインから別のペインに変更を適用する
現在の差分ウィンドウから隣接する差分ウィンドウに変更を適用するには、次を実行します-
:diffput
たとえば、左側のウィンドウにいて、現在のウィンドウから右側のウィンドウに変更を適用する場合、上記のコマンドを実行します。