Если остановки процесса недостаточно, уничтожение самой оболочки (в которой вы запустили git diff
) может быть более эффективным.
См. Также Git Diff с Vimdiff
Не будучи готовым перейти на полную скорость к использованию vimdiff
(я просто новичок в этом), я добавил следующее в ‘gitvimdiff
’.
В результате я могу использовать vimdiff
для просмотра git-diff, запустив ‘gitvimdiff
‘, но обычный вызов ‘git diff
’ ведет себя так, как я привык.
#!/bin/sh
if [ -n "${GIT_EXTERNAL_DIFF}" ]; then
[ "${GIT_EXTERNAL_DIFF}" = "${0}" ] ||
{ echo “GIT_EXTERNAL_DIFF set to unexpected value” 1>&2; exit 1; }
exec vimdiff “$2″ “$5″
else
GIT_EXTERNAL_DIFF=”${0}” exec git –no-pager diff “$@”
fi
Но если вы все еще хотите изменить git diff
, git status
может помочь перед его запуском;)
И вы можете настроить функцию для получения старого git diff
поведения, если это необходимо:
У меня все еще есть доступ к поведению git diff по умолчанию с флагом --no-ext-diff
. Вот функция, которую я вставил в мои файлы конфигурации bash:
function git_diff() {
git diff --no-ext-diff -w "$@" | vim -R -
}
--no-ext-diff
: запретить использование vimdiff
-w
: игнорировать пробелы
-R
: чтобы запустить vim в режиме только для чтения
-
: заставить vim действовать как пейджер