2016-04-20 52 views
11

Sto usando git all'interno di Cygwin 64 sotto Windows. L'editor predefinito vi e git utilizza l'editor predefinito. Quando chiamo 'git commit' seguente messaggio verrà richiesto prima di iniziare vim:non funziona quando si chiama git commit in cygwin

git commit 
Vim warning: output is not to a terminal 
Vim warning: input is not from a terminal 

Dopo di che, vi sarà iniziata, ma non può essere controllato, 'ESC', ':' non può essere utilizzato e Devo uccidere la finestra di cygwin.

enter image description here

Come posso usare vim per il 'git commit'?

+1

Cambiare l'editor predefinito può essere una buona soluzione alternativa: 'nucleo config git.blocco note dell'editor – Acemad

+1

Sei sicuro di non avere un altro VI sul percorso? L'ultima riga del tuo screenshot è strana 'D:/..' – matzeri

+0

Cosa succede se provi: 'TERM = xterm git commit' – andlrc

risposta

5

È possibile che Git per Windows (msysgit) o ​​Vim per Windows sia installato. Non sono compatibili con Cygwin64: è necessario configurare il percorso per consentire a Cygwin di ignorare tali installazioni.

L'opzione più semplice sarebbe disinstallare entrambi gli elementi e utilizzare solo la versione Cygwin.

Se è necessario mantenerli per qualsiasi motivo, impostare la variabile $PATH in .bash_profile come override. Usa il tuo $ PATH esistente, meno i percorsi msimgit e windows vim. Se siete in script bash, si potrebbe provare quanto segue per rimuovere i percorsi quando si utilizza bash, modificato per la vostra situazione particolare:

msysgit='/cygdrive/c/Program Files/git:' 
PATH="${msysgit//$PATH/}" 
msysvim='/cygdrive/c/Program Files (x86)/vim/vim74:' 
PATH="${mysysvim//$PATH/}" 

Buona fortuna!

2

Si è installata la versione di Windows di GIT anziché la versione CYGWIN di GIT installata. GIT di default viene fornito con un set completo di strumenti UNIX inclusa la sua versione di VI. Sfortunatamente, quella versione di VI non funziona bene con CYGWIN. Il modo migliore per farlo è installare GIT in CYGWIN in modo che utilizzi la versione CYGWIN di VI o VIM.

0

Ho affrontato lo stesso problema. @ CYB.tachyon e @David Beckman hanno entrambi spiegato PERCHÉ vim id si rompe; ma, piuttosto che disinstallare qualcosa, ho eseguito il mio comando git da un prompt dei comandi in stile DOS e tutto è andato liscio. Suppongo che - alla fine - ripulire i vari sapori di Vim sarà la MIA soluzione definitiva, ma se vuoi semplicemente andare avanti con il tuo lavoro, questa è stata la soluzione più rapida al problema immediato.

0

Questo potrebbe essere causa di menta, vedere this issue.

Ci sono due modi per risolvere:

  1. Uso bash.exe invece di mintty:

    clic destro sul collegamento di Cygwin, modificarlo da C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico - a C:\cygwin64\bin\bash.exe --login -i

  2. Add il percorso vim corretto per git config:

    git config --global core.editor "C:/cygwin64/bin/vim.exe"

    Nota che non utilizzare cygdrive nel percorso come .gitconfig impossibile riconoscerlo. E se si utilizza 32 bit vim, il percorso dovrebbe essere C:/cygwin/bin/