Благодаря @skarface я решил эту проблему в отношении коммитов. Во-первых, как я уже упоминал в редактировании вопроса, оказалось, что я не запускал Cygwin Git в Cygwin, а использовал Windows Git. Таким образом, проблема интеграции имеет смысл: она не находит vim
или vimdiff
.
Я должен был сделать:
git config --global core.editor C:/cygwin/bin/vim.exe
Я не уверен, почему вышесказанное сработало, так как:
$ which vim /usr/bin/vim
но:
$ ls C:/cygwin/usr/bin ls: cannot access C:/cygwin/usr/bin: No such file or directory
Поэтому не уверен, почему именно этот путь сработал, но он это сделал.
Теперь я решил это и в отношении различий. Мне пришлось:
$ git config --global diff.tool vimdiff $ git config --global difftool.vimdiff.cmd 'C:/cygwin/bin/vim.exe -d "$LOCAL" "$REMOTE"'
Это позволило мне запустить Vimdiff с Git, но были некоторые проблемы. Я мог просматривать файлы, но сам инструмент не смог различить, выдав эти ошибки:
Похоже, что то, что происходило здесь, это то, что Git каким-то образом испортил shell
опцию Vim . По моему .vimrc
, я поставил эту команду:
set shell=bash
и теперь все работает без сбоев.