У vim є вбудований механізм для „красивого“ двопанельного відображення diff двох файлів. І є прекрасний плагін
DirDiff щоб переглядати diff -r у такому ж красивому двопанельному режимі.
git за допомогою difftool вміє використовувати vimdiff, але не дуже добре у нього з DirDiff. Але виправити це не дуже важко, принаймні з останніми версіями git.
Крок перший, додаємо у ~/.gitconfig таке:
[diff]
tool = dirdiff
[difftool "dirdiff"]
prompt = false
cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE
Секція [difftool "dirdiff"] визначає нову утиліту для difftool з назвою dirdiff.
Секція [diff] визначає стандартну утиліту для difftool.
Крок другий, вмикаємо підтримку локалей для DirDiff у ~/.vimrc:
let g:DirDiffDynamicDiffText = 1
Без цього рядка DirDiff у терміналі з локаллю відмінною від "C" буде працювати неправильно.
Крок третій, створюємо зручний аліас у ~/.gitconfig щоб не додавати ключ -d кожного разу:
[alias]
vdiff = difftool -d
Тепер виконуючи команду
git vdiff d8ed3c 6c05b2
бачимо таку красиву картинку:
Те що треба для code review.