2009-11-25 7 views
9

Aparece el siguiente error después de ejecutar "git commit".¿Por qué aparece una advertencia después de decir "commit de git"?

CSApprox needs gui support - not loading. 
    See :help |csapprox-+gui| for possible workarounds. 
Error detected while processing /Users/{username}/.vim/plugin/syntastic.vim: 
line 94: 
E319: Sorry, the command is not available in this version: sign define SyntasticError text=>> texthl=error 
line 95: 
E319: Sorry, the command is not available in this version: sign define SyntasticWarning text=>> texthl=todo 
Press ENTER or type command to continue 
error: There was a problem with the editor 'vi'. 
Please supply the message using either -m or -F option. 

¿Alguna idea de por qué esto podría estar pasando? Estoy en un mac.

Gracias por su ayuda.

Respuesta

11

Parece que su editor de git no está configurado y vi tiene un complemento en mal estado o algo así en su mac. Intenta usar el parámetro "m comment" en tu commit.

Sugeriría mv ~/.vim ~/.vimbak y trataré de ejecutar vi nuevamente.

+0

Sí, un problema con un complemento. Estaba totalmente confundido por qué estaba intentando lanzar un editor, pero ahora lo entiendo. El interruptor "-m" funcionó por completo ... Supongo que debería leer todos los interruptores disponibles – iJK

3

En primer lugar, ¿estás seguro de que quieres estar haciendo git commit .? git commit es generalmente lo que quiere.

Los mensajes de error provienen de su editor. Parece que git está intentando invocar vi, pero hay configuraciones en algo así como su .vimrc que no son compatibles con la línea de comando vi que está utilizando.

¿Qué sucede cuando invocas vi desde tu línea de comando?

Si no quiere usar vi como editor de confirmaciones, puede usar la variable de entorno GIT_EDITOR para hacer que git invoque un editor diferente. Sin embargo, debe asegurarse de que el editor se ejecuta como un proceso en primer plano, para que git sepa cuándo ha terminado de editar su mensaje. Algunos editores pueden invocarse con un script de inicio para ayudar con esto, ya que es común que los editores (especialmente en Mac OS X) se inicien como un proceso en segundo plano cuando se los llama desde un terminal.

+0

Sí, quería decir "cometer git" ... Perdón por un recién llegado aquí ;-) Estaba confundido por qué estaba intentando abra el editor vi, pero ahora sé por qué. Sí, obtengo el mismo mensaje de error por el que trato de abrir vi o vim. Tengo que descubrir qué está pasando allí.Cambié mi editor usando la variable de entorno, así que supongo que puedo relajarme un rato. – iJK

+0

¿Tiene la configuración vim? Cuando abres vim en línea de comandos, ¿obtienes los mismos errores? ¿Git está intentando abrir una versión de vim diferente a la que normalmente usa? – stefanB

0

Parece que está utilizando el complemento CSApprox vim en mac. Sin embargo, el terminal del mac no admite 256 colores (creo que solo 16).

Puede probar iTerm en lugar de la terminal de la mac. Sin embargo, ten cuidado con el uso de la memoria.

Además, si usted va esta ruta, vim decir que el terminal soporta 256 colores añadiendo esto a su ~/.vimrc:

set t_Co=256 

Si todo esto falla, y no le importa el valor por defecto colorscheme al usar vim de la terminal, se puede cargar el esquema de colores sólo para MacVim (y eliminar por completo el plugin CSApprox):

if has('gui_running') 
    :colorscheme wombat 
endif 
21

esto va a resolver este problema:

$ git config --global core.editor /usr/bin/vim 
+1

Esto funcionó perfectamente para mí, parece ser más correcto. – Core

0

Algunos complementos de vim pueden causar tal problema. La siguiente configuración resuelve el problema para mí.

git config --global core.editor "/usr/bin/vim --noplugin" 
Cuestiones relacionadas