error: hubo un problema con el editor 'vi' al usarlo con git

12

Tengo este extraño problema con el uso de vi como editor para git commit -a .

El flujo normal es: escribo git commit -a , aparece vi , ingreso mi mensaje de confirmación y luego :wq para guardar & salir de vi .

Esto funciona bien. Sin embargo, a veces hago un error tipográfico y en lugar de :wq escribo :Wq (porque uso el cambio para : ). Luego, cuando me corrijo y escribo :wq otra vez, git da el siguiente error:

error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

¿Cómo puedo solucionar esto?

    
pregunta houbysoft 26.07.2012 - 19:05

4 respuestas

14

vi existe con un estado distinto de cero, aunque sin detalles adicionales sobre su configuración, es difícil decir por qué. Si está utilizando muchos complementos para vim , puede intentar mover su archivo .vimrc a .vimrc.back y ver si puede replicar. Hay un algunas fuentes que tratan este problema, incluyendo al menos uno con una solución potencial:

git config --global core.editor /usr/bin/vim

Sin embargo, primero intentaría eliminar tu .vimrc . Parece causar más consternación.

    
respondido por el Christopher 27.07.2012 - 11:20
13

Como se responde aquí: enlace

La verdadera solución es

git config --global core.editor vim -f

Según la documentación de vim - -f option should be used when Vim is executed by a program that will wait for the edit session to finish

    
respondido por el applOOb 03.10.2014 - 14:36
0

¿Usas los complementos de golang vim? Esta línea está causando el problema del valor de salida vi para mí: filetype plugin indent off

Al eliminar todo el bloque de complementos de golang en .vimrc se solucionó el problema. Instalar el complemento de golang con fugitivo puede ser tan fácil como: ln -s $GOROOT/misc/vim ~/.vim/bundle/vim-golang

(Acabo de documentar el problema en este problema en vim-golang github )

    
respondido por el Jan 24.04.2014 - 11:01
0

Algo está mal con Git config, supongo.

Entonces, la solución es restablecer Git config y funcionó para mí:

git config --global core.editor $(which vim)

$(which vim) es más flexible que /usr/bin/vim (es posible que el ejecutable vim no esté disponible para algunas personas)

    
respondido por el ericn 20.10.2016 - 03:34

Lea otras preguntas en las etiquetas