Новая OS, новые проблемы со старыми тулзовинами. Почти перенёс всё рабочее на MacBook, тут впервые понадобилось закоммитить изменения в git и меня ждал неприятный сюрприз. Git отказывался принимать комментарий к коммиту написанный в vim.
$ git commit
error: There was a problem with the editor ‘vi’.
Please supply the message using either -m or -F option.
Немного попгуглив, стало понятно куда копать. Причин такому поведению может быть несколько:
- Ваш vi/vim возвращает при завершении retcode отличный от 0, что говорит об ошибке. Это можно проверить запустив vim на редактирование и выйдя из него (с помощью «:wq» или «ZZ», например) и посмотрев код с помощью команды: «echo $?». Если он не 0, попробуйте повторить операцию переименовав ~/.vimrc и ~/.vim.
- Ваш vi/vim вовсе не ваш. Вас обманывают! Проверьте какой vim используется с помощью команды «which vim» и установите его в настройках git’а: «git config —global core.editor /usr/bin/vim».
Мне пригодился только 2й пункт, после чего всё заработало.
Альтернативно можно попробовать выставить значение переменной $EDITOR, но у меня она была вообще пустой. Так что за это решение ничего сказать не могу.
Есть только одна непонятка: почему git ругался именно на vi, а не на vim. Ну может это они так чтят корни vim’а, потому что с виду вроде именно vim запускался. Может ещё чего. После того как всё заработало меня эта проблема перестала интересовать чтобы разбираться дальше.