git, diff, vim and dirdiff

Dec 29, 2013 20:43

У 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.

git, vim, tip

Previous post Next post
Up