2つのテキストファイルの差分を取る
vimエディタを使用して、2つのテキストファイルの差分を表示する方法を紹介します。 このテクニックは、主にファイルの比較をする場合に使用します。 (Windows, Mac)
概要
vimエディタを使用して、2つのテキストファイルの差分を表示する方法を紹介します。
このテクニックは、主にファイルの比較をする場合に使用します。
指定のファイルとの差分のとり方
「diffsplit」コマンドを使う
vimエディタでは「diffsplit」コマンドで、
今エディタで開いているファイルと、指定したファイルとの差分を表示できます。
「diffsplit」を使ってファイルの差分を取る場合、コマンドの書式は次のようになります。
:vertical diffsplit 差分を取りたいファイル
差分を取りたいファイルの名前が「theother.txt」なら、コマンド例は次の通りです。
:vertical diffsplit theother.txt
Note
「vertical」コマンドは「ウィンドウを横2つに分割しろ」という指定です。
このオプションを外した場合、ウィンドウは縦2つに分割された後、
各差分がそれらのウィンドウに表示されます。
" 差分を取りたいファイルが「theother.txt」の場合のコマンド例 :diffsplit theother.txt
「VDSplit」コマンドを使う
Kaoriya 版パッチのあたっているvimエディタなら、
「vertical diffsplit」と同様の機能を持つコマンドとして、
「VDSplit」というコマンドが組み込まれています。
この「VDSplit」コマンドを使用すると、
より少ないキーストロークで2つのファイルの差分を表示できます。
:VDSplit 差分を取りたいファイル " 差分を取りたいファイルが「theother.txt」の場合のコマンド例 :VDSplit theother.txt
Note
「VDSplit」コマンドは Kaoriya 版パッチのあたっているvimエディタでのみ、 使用できるコマンドです。
指定のバッファとの差分のとり方
差分を取りたい2つ目のファイルがバッファに入っている時(既にエディタで読み込んでいる時)、
そのバッファは「# + バッファの番号」という書式で指定できるので、
次のような方法でも差分をとることができます。
この方法は大抵、ファイル名を指定した場合よりもキーストロークが少なくて済むので、
覚えておくと役に立ちます。
:VDSplit 差分を取りたいバッファ " 差分を取りたいバッファの番号が5の場合のコマンド例 :VDSplit #5
Note
バッファの番号を知るには「buffers」コマンドか、「ls」コマンドを実行してください。
vimエディタのコマンドの中で「# + バッファの番号」と記述すると、
その番号のバッファを指定したことになります。
:buffers