web-dev-qa-db-ja.com

Vimで2つのファイルを比較する

Vimで2つのファイルを並べて表示することはできますか?もしそうなら、どうすればこれを行うようにエディタを設定できますか?Vim内の2つのファイル間でdiffを行う方法はありますか?

私は:nextおよび:prevコマンドを認識していますが、これは私が求めているものではありません。 2つのファイルをタンデムで表示することは、本当に素晴らしいことです。

65
Zaid

横並びのビューを開きます。

Ctrl+w v

それらの間の変更:

Ctrl+w h or l

差分のようなビューが必要な場合は、vimパッケージの一部であるvimdiffコマンドをチェックアウトします。

vimdiff file1.txt file2.txt
46
maxschlepzig

-Oオプションを使用して、分割画面モードでvimを開くこともできます。

vim -O file1 [file2 ...]

次にdiffモードをオンにするには、各ペインで:diffthisコマンドを実行する必要があります。

別のユースケースシナリオは、すでにvimで1つのファイルを開いていて、それを開いて別のファイルと比較する場合です。その後、次のvimコマンドを使用できます。

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

次に、vimコマンド:diffoffを使用して、各ペインでdiffモードをオフにできます。

編集
そして言及されていない他の標準的なもの:-

vim -d file1 [file2 ...]

これは、vimdiffを直接呼び出すのと同じです。

44
Alex Leach

vimdiffコマンドを使用することもできます。

例:

vimdiff file1.txt file2.txt
9
Ákos Kovács

または、VIMで最初のファイルを開き、次に:vert diffsplit file2 :vertは、画面を垂直方向に分割します。

diffsplitはdiffを実行し、ファイルを分割してスクロールしてロックします。

4
Dustin