もっとVimでdiffる
Vimからdiffを使うときはいつも:Gdiffでそれ以外はWinMergeを使ってしました。
(個人的にはVimからdiffを呼ぶのが面倒なので)
が、ふとMacでdiffをしようと思ったらなんとMacにはWinMergeが無い...orz
こうなったらVimのdiffを使いやすくするしかない!
というわけでこんなUniteのactionを作ってみました。
let diff_action = { \ 'description' : 'diff', \ 'is_selectable' : 1, \ } function! diff_action.func(candidates) if len(a:candidates) == 1 " カレントバッファとdiffを取る execute 'vert diffsplit ' . a:candidates[0].action__path elseif len(a:candidates) == 2 " 選択されたファイルとdiffを取る execute 'tabnew ' . a:candidates[0].action__path execute 'vert diffsplit ' . a:candidates[1].action__path else " 3-way以上は非対応 echo 'too many candidates!' endif endfunction call unite#custom_action('file', 'diff', diff_action) unlet diff_action
これをvimrcに追加するとUniteやVimFilerからdiffが使えるようになります。