svn-diff.vimをより見やすく
2011年11月22日以下のエントリを参考に、svn-diff.vim(svn.vim)を変更してみた。
左上に、コミット用コメント欄
左下に、svn log
右に、svn diff
が、表示されるようになる。
pathogen.vimを利用しているので、以下を編集
$ vim ~/.vim/bundle/vim-svndiff/ftplugin/svn.vim ... function! Svn_diff_windows() let i = 0 let files = [] while i <= line('$') let line = getline(i) if line =~ '^M' let file = substitute(line, '\v^MM?\s*(.*)\s*$', '\1', '') call add(files, file) endif let i = i + 1 endwhile if len(files) == 0 return~ endif let list_of_files = join(files, ' ') set nosplitright vnew silent! setlocal ft=diff previewwindow bufhidden=delete nobackup noswf nobuflisted nowrap buftype=nofile execute 'normal :r!LANG=ja_JP.UTF8 svn diff ' . list_of_files . "\n" setlocal nomodifiable goto 1 redraw! wincmd R wincmd p goto 1 redraw! new silent! setlocal ft=diff previewwindow bufhidden=delete nobackup noswf nobuflisted nowrap buftype=nofile for file in files execute 'normal :r!LANG=ja_JP.UTF8 svn info ' . file . " | grep 'URL:'\n" execute 'normal :r!LANG=ja_JP.UTF8 svn log -r PREV:HEAD --limit=1 ' . file . "\n" endfor ~~~~ setlocal nomodifiable goto 1 redraw! wincmd R wincmd p goto 1 redraw! endfunction set nowarn call Svn_diff_windows() set nowb