manager - vim no funciona cuando se llama a git commit dentro de cygwin
install cygwin (5)
Estoy usando git dentro de Cygwin 64 debajo de las ventanas. El editor por defecto vi y git usa el editor por defecto. Cuando llame a ''git commit'', se enviarán los siguientes mensajes antes de iniciar vim:
git commit
Vim warning: output is not to a terminal
Vim warning: input is not from a terminal
Después de eso, vi comenzará, pero no se puede controlar, ''ESC'', '':'' no se puede usar y tengo que matar la ventana de cygwin.
¿Cómo puedo usar vim para el ''git commit''?
Es posible que tenga instalado Git para Windows (msysgit) o Vim para Windows. Fuera de la caja, no son compatibles con Cygwin64; debe configurar su sistema para que Cygwin ignore esas instalaciones.
La opción más fácil sería desinstalar ambos elementos y simplemente usar la versión de Cygwin.
Si necesita mantenerlos por cualquier motivo, establezca su variable $PATH
en su .bash_profile
como una anulación. Use su $ PATH existente, menos las rutas de msysgit y windows vim. Si te gustan los scripts de bash, puedes intentar lo siguiente para eliminar las rutas cuando utilices bash, modificado para tu situación particular:
msysgit=''/cygdrive/c/Program Files/git:''
PATH="${msysgit//$PATH/}"
msysvim=''/cygdrive/c/Program Files (x86)/vim/vim74:''
PATH="${mysysvim//$PATH/}"
¡Buena suerte!
Esto podría ser por menta, ver este problema .
Hay dos formas de arreglarlo:
Utilice bash.exe en lugar de mintty:
Haga clic derecho en el acceso directo de cygwin, cámbielo de
C:/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico -
aC:/cygwin64/bin/bash.exe --login -i
Agregue la ruta vim correcta a git config:
git config --global core.editor "C:/cygwin64/bin/vim.exe"
Tenga en cuenta que no utilice
cygdrive
en la ruta, ya que.gitconfig
no puede reconocerlo. Y si está utilizando vim de 32 bits, entonces la ruta debería serC:/cygwin/bin/
Me enfrenté a este mismo problema. @ CYB.tachyon y @David Beckman explicaron POR QUÉ vim id rompiendo; pero, en lugar de desinstalar cualquier cosa, ejecuté mi comando git desde un indicador de comandos de estilo DOS y todo se realizó sin problemas. Supongo que, eventualmente, la limpieza de los diversos sabores de vim será MI solución definitiva, pero si solo quiere continuar con su trabajo, esta fue la solución más rápida para el problema inmediato.
Tiene la versión de Windows de GIT instalada en lugar de la versión de CYGWIN de GIT instalada. GIT por defecto viene con un conjunto completo de herramientas UNIX que incluye su propia versión de VI. Desafortunadamente, esa versión de VI no juega bien con CYGWIN. La mejor manera de evitar esto es instalar GIT en CYGWIN para que use la versión CYGWIN de VI o VIM.