vimの便利なPlugin(その1)DirDiff

   2018/03/21

普段ソフトウェア開発で多くのソースコードファイルを編集していると、本番で運用されているファイルと開発中のものの差分を調べたいことがある。 各ファイルのdiffをとったり、バージョン管理システムの機能で調べている人も多いのではないでしょうか。 そんな時、DirDiffプラグインをインストールしておくと、2つのディレクトリを一気に比較し変更点を確認しながら編集できます。 とにかくまずはこのPluginを試してみることをお勧めします。 作業効率が変わります。

Install

以下のリンクからプログラムをダウンロード

DirDiffプログラムのダウンロード

通常ファイルは、 $~/.vim/ に保存すればOK。 動作しない場合は以下のリンクを参考にしてみてください。

(参考) vimの便利なPlugin

または、dein.vimというプラグインマネージャを利用している方は、.vimrcに以下の行を追加します。

call dein#add(‘vim-scripts/DirDiff.vim’)

これで「:call dein#install()」をexモードで実行すればインストールは終了。

ここでは、DirDiffバージョン1.1.5をvim version 7.4 で試してみました。※ダウンロードしてきて解凍したファイルでは、旨くwindow分割表示できない環境があります。そんなときは、dirdiff.vimに以下のパッチを当ててみて下さい。

ダウンロードパッチファイル:dirdiff_1-1-5

$ patch -u /usr/path/to/dirdiff.vim < 上記パッチファイル
※deinでdirdiffをインストールした場合は、「/home/user_name/.vim/dein/.cache/.vimrc/.dein/plugin/dirdiff.vim」 にパッチを当てることになります。

使い方

使い方は、vimを開いてから以下の様にして比較したい2つのディレクトリ(以下の例では、test1, test2)を指定してあげるだけ。

:DirDiff /path/to/test1 /path/to/test2

例)

dirdiff_sample

ディレクトリ内のファイルに違いがあると、3つのウィンドウが表示されます。 下部に表示されているウィンドウ内で対象ファイルを選択すると、上部(左右2つ)のウィンドウにその差分が表示されます。 上記の例では、青くハイライトされている行が左ウィンドウには存在せず、右ウィンドウにのみ存在することが分かります。 ※vimでのウインドウ操作については、また後日説明していきます。

ディレクトリの中にリビジョンコントロール用の管理ファイル等があると、そのファイルまで比較してしまいますので、比較の必要の無いファイルを無視するよう.vimrcに設定しましょう。

let g:DirDiffExcludes = “CVS,*.class,*.exe,.*.swp,*.svn,*.o,*.a”

同様にリビジョン番号だけ変わったファイルを一々比較の対象として出力されると面倒ですので無視するようにしましょう。 DirDiffignoreを設定すると、指定した文字が含まれる行のみに違いがある場合は無視するようになります。文字列は、カンマ区切りで指定できます。

let g:DirDiffIgnore = “Revision:,Date:”
  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら