В отличие от других приведенных здесь ответов, для меня было недостаточно использовать абсолютный путь к vi и установить конфиг git core.editor
, чтобы решить проблему.(Они уже были на месте.)
В моей ситуации проблема была решена путем добавления флага -f
к команде vi:
git config --global core.editor '/usr/bin/vi -f'
Один разэта опция -f
установлена, я могу использовать git rebase -i
, и когда я сохраняю и выхожу из списка фиксации, перебазирование происходит, как и должно быть, вместо того, чтобы выдавать ошибку «не удалось выполнить редактор».1013 * Справочная страница vim говорит о параметре -f
,
Для версии с графическим интерфейсом Vim не будет разветвляться и отсоединяться от оболочки, в которой он был запущен... Эту опцию следует использовать, когда Vim запускается программой, которая будет ждать окончания сеанса редактирования (например, по почте).
Ну, я не использую версию с графическим интерфейсом, которую я знаюиз.Я запускаю git
в командной строке bash в окне терминала на masOS Sierra 10.12.6.Но так как git rebase -i
ожидает окончания сеанса редактирования, я полагаю, поэтому здесь необходима опция -f
.Возможно, vim (без -f
) пытается отключить / отделить от оболочки по какой-то причине, которую я не смог выяснить.