Ответ 1
Если остановить процесс недостаточно, возможно, более эффективно убить сам оболочку (в которой вы запустили git diff
).
См. также Git Diff с Vimdiff
Не будучи готовым перейти на полную скорость при использовании
vimdiff
(Im просто новый для него), я помещаю следующее в '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 "[email protected]"
fi
Но если вы все еще хотите изменить git diff
, git status
может помочь перед его запуском;)
И вы можете настроить функцию, чтобы при необходимости получить старое поведение git diff
:
У меня все еще есть доступ к по умолчанию git diff с флагом
--no-ext-diff
. Вот функция, которую я вложил в конфигурационные файлы bash:
function git_diff() {
git diff --no-ext-diff -w "[email protected]" | vim -R -
}
--no-ext-diff
: для предотвращения использования vimdiff-w
: игнорировать пробелы-R
: запустить vim в режиме только для чтения-
: сделать vim действующим как пейджер