У меня Git работает с Vim в среде Powershell на моем рабочем ноутбуке (Windows 7). Когда я фиксирую или использую мой git vimdiff
псевдоним.
Я попытался сделать то же самое под Cygwin (будучи парнем из Unix), но когда я набираю git commit
или же git vimdiff
Вим не всплывает; хотя, похоже, Git ждет Vim, потому что действие никогда не завершается Ctrl - С (после чего требуется минута или около того, чтобы восстановиться). Я могу зафиксировать с помощью встроенных сообщений ( git commit -m "I would rather type this in Vim"
) и я могу запустить Vim / Vimdiff из терминала с помощью vim
а также vimdiff
, У меня есть редактор для Vim в нескольких местах:
$ echo $EDITOR
vim
$ git config --get core.editor
vim
(Первоначально я не устанавливал его явно в Git, а только в переменной окружения, и все еще имел ту же проблему.)
Похоже, я использую Windows Git в Cygwin. Будучи новичком в Cygwin, я не осознавал этого, когда впервые задал вопрос. Я мог видеть, как это может вызвать проблемы, но после игры я еще не смог это исправить.
Кто-нибудь видел эту проблему раньше? Есть идеи как это исправить?
core.editor
имеет более высокий приоритет чемEDITOR
так что я собираюсь придерживаться моддинга. Думаю, я не понял, какой правильный полный путь для Cygwin Vim, хотя с точки зрения Windows Git, работающей в Cygwin ... или я хочу использовать Windows Vim?Ответы:
Благодаря @skarface я решил эту проблему в отношении коммитов. Во-первых, как я уже упоминал в редактировании вопроса, оказалось, что я не запускал Cygwin Git в Cygwin, а использовал Windows Git. Таким образом, проблема интеграции имеет смысл: она не находит
vim
или жеvimdiff
,Я должен был сделать:
Я не уверен, почему вышесказанное сработало, так как:
но:
Поэтому не уверен, почему именно этот путь сработал, но он это сделал.
Теперь я решил это и в отношении различий. Мне пришлось:
Это позволило мне запустить Vimdiff с Git, но были некоторые проблемы. Я мог просматривать файлы, но сам инструмент не смог различить, выдав эти ошибки:
Похоже, что то, что происходило здесь, это то, что Git каким-то образом связался с Vim
shell
вариант. В моем.vimrc
Я поставил эту команду:и теперь все работает без сбоев.
источник
/bin
а также/usr/bin
одно и то же, но Windows не знает об этом и видит только «реальное»C:\cygwin\bin
, При этом для лучшей интеграции лучше использовать Cygwingit
пакет.