paquetes manager instalar descargar actualizar git vim cygwin commit vi

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''?


Cuando instala Git para Windows, DEBE elegir Usar Git solo de Git Bash.

Si elige Use Git from the Windows Command Prompt , causará este problema.

Y, honestamente, ¿quién va a usar git desde la línea de comandos? ;)


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:

  1. 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 - a C:/cygwin64/bin/bash.exe --login -i

  2. 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 ser C:/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.