vimdiff でのナビゲーションと編集
これまでに vimdiff
がファイルの違いをどのように表示するかを見てきました。次に、違い間を移動して編集する方法を学んでいきましょう。
vimdiff
で再度ファイルを開きます。
vimdiff file1.txt file2.txt
違い間のナビゲーション
vimdiff
では、以下のコマンドを使って違い間を移動できます。
]c
- 次の違いにジャンプ
[c
- 前の違いにジャンプ
ノーマルモードで ]c
と入力して(ノーマルモードでない場合は最初にエスケープキーを押します)、ファイル内の違いに移動してみましょう。
ファイル間でのテキストのコピー
vimdiff
の強力な機能の1つは、一方のファイルから他方のファイルにテキストをコピーする機能です。以下のコマンドを使ってこれを行うことができます。
do
(diff obtain) - 他のファイルの変更を現在のファイルに取り込む
dp
(diff put) - 現在のファイルの変更を他のファイルに反映する
左側のファイルの違い部分にカーソルを合わせ、do
と入力して右側のファイルのテキストを取り込んでみましょう。次に、右側のファイルにカーソルを合わせ、dp
と入力して右側のファイルのテキストを左側のファイルに反映させてみましょう。
直接編集
通常の Vim と同じように、vimdiff
でも直接ファイルを編集することができます。
i
を押して挿入モードに入ります。
- 変更を加えます。
- エスケープキーを押してノーマルモードに戻ります。
:w
と入力して変更を保存します。
vimdiff の終了
vimdiff
の操作を終えたら、変更を保存せずに終了します。
:qa!
終了前に変更を保存したい場合は、各ファイルに対して以下のコマンドを使用します。
:wq
または、すべてのファイルを一度に保存して終了するには、以下のコマンドを使用します。
:wqa
vimdiff
は、Vim の機能とファイル比較機能を組み合わせた強力なツールであり、コードレビュー、トラブルシューティング、変更のマージに最適です。