vim ne fonctionne pas lors de l'appel de git commit dans cygwin
j'utilise Git dans Cygwin 64 sous windows. L'éditeur par défaut vi et git utilise l'éditeur par défaut. Lorsque j'appelle 'git commit', les messages suivants seront affichés avant le démarrage de vim:
git commit
Vim warning: output is not to a terminal
Vim warning: input is not from a terminal
après cela, vi va commencer mais ne peut pas être contrôlé, 'ESC', ':' ne peut pas être utilisé et je dois tuer la fenêtre cygwin.
Comment puis-je utiliser vim pour le "git commit"?
5 réponses
Cela peut être causé par mintty, voir ce problème.
Il y a deux façons de corriger:
utilisez bash.exe au lieu de mintty:
clic droit sur le raccourci de cygwin, changez le de
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
C:\cygwin64\bin\bash.exe --login -i
ajouter le chemin vim correct à la configuration git:
git config --global core.editor "C:/cygwin64/bin/vim.exe"
Remarque: ne pas utiliser
cygdrive
dans le chemin d'accès.gitconfig
vous ne pouvez pas le reconnaître. Et si vous utilisez vim 32 bits, puis le chemin d'accès doit êtreC:/cygwin/bin/
vous pouvez avoir git pour Windows (msysgit) ou Vim pour Windows installé. Hors de la boîte, ils ne sont pas compatibles avec Cygwin64 - vous devez configurer votre chemin pour Cygwin pour ignorer ces installations.
l'option la plus facile serait de désinstaller ces deux éléments et d'utiliser simplement la version Cygwin.
si vous avez besoin de les garder pour une raison quelconque, définissez votre $PATH
variable .bash_profile
comme un remplacement. Utilisez votre $ PATH existant, moins le msysgit et windows vim chemins. Si vous êtes en bash scripting, vous pouvez essayer ce qui suit pour supprimer les chemins lors de l'utilisation de bash, modifié à votre situation particulière:
msysgit='/cygdrive/c/Program Files/git:'
PATH="${msysgit//$PATH/}"
msysvim='/cygdrive/c/Program Files (x86)/vim/vim74:'
PATH="${mysysvim//$PATH/}"
Bonne chance!
vous avez la version windows de GIT installée plutôt que la version CYGWIN de git installée. Git par défaut est livré avec un jeu complet D'outils UNIX incluant sa propre version de VI. Malheureusement, cette version de VI ne joue pas bien avec CYGWIN. La meilleure solution est d'installer git dans CYGWIN pour qu'il utilise la version CYGWIN de VI ou VIM.
j'ai fait face à ce même problème. @CYB.tachyon et @ David Beckman ont tous les deux expliqué pourquoi vim id s'est cassé; mais, plutôt que de désinstaller quoi que ce soit, j'ai exécuté ma commande git à partir D'une invite de commande DOS-style et tout s'est bien passé. Je suppose - éventuellement - nettoyer les différentes saveurs de vim sera ma solution ultime, mais si vous voulez juste obtenir avec votre travail, ce fut la solution la plus rapide au problème immédiat.
lorsque vous installez Git pour Windows, vous devez choisir utiliser Git à partir de Git Bash seulement.
Si vous choisissez Use Git from the Windows Command Prompt
, il sera la cause de ce problème.
et honnêtement, qui va utiliser git depuis l'invite de commande? ;)