Вопрос

Я настройка git diff Чтобы завернуть в вимдифф, используя "Git diff с вимдифом«В качестве руководства, и это работает, как и ожидалось, если нет много файлов с изменениями.

Когда есть несколько файлов с изменениями, и я запускаю git diff, он открывает первый файл, и, после того, как ушел из первого случая Vimdiff, мне представлено следующее сообщение:

external diff died, stopping at filename

Это совершенно другое поведение, чем я привык. У меня была аналогичная настройка в прошлом с SVN, и, когда я отличался от нескольких файлов, я бы проверил первый файл, а затем писал и бросил использование :wq и следующий файл с различиями откроется.

Это не тот случай с git. Я попытался :n[ext], но это не заполняет левое окно исходным файлом, чтобы его можно было разнообразить в модифицированной версии.

Это было полезно?

Решение

git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool

Набор git d дает ожидаемое поведение, печатать :wq В VIM циклете по следующему файлу в наборе изменений.

Другие советы

Ты можешь попробовать git difftool, он предназначен для этого.

Во -первых, вам нужно настроить инструмент Diff на Vimdiff

git config diff.tool vimdiff

Затем, когда вы хотите различить, просто используйте git difftool вместо git diff. Анкет Это будет работать так, как вы ожидаете.

Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool. 

git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top