error: c'era un problema con l'editor 'vi' quando lo si utilizzava con git

12

Ho questo strano problema nell'usare vi come editor per git commit -a .

Il flusso normale è: I digita git commit -a , vi appare, inserisco il mio messaggio di commit, e poi :wq per salvare & esci da vi .

Funziona bene. Tuttavia, a volte faccio un refuso e invece :wq I digita :Wq (perché uso lo spostamento per : ). Quindi, quando correggo me stesso e digito nuovamente :wq , git restituisce il seguente errore:

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

Come posso risolvere questo problema?

    
posta houbysoft 26.07.2012 - 19:05
fonte

4 risposte

14

vi esiste con uno stato diverso da zero, sebbene senza ulteriori dettagli sulla configurazione, è difficile dire perché. Se utilizzi molti plug-in su vim , potresti provare a spostare il tuo file .vimrc in .vimrc.back e vedere se riesci a replicare. Ci sono poche fonti che discuti questo problema, includendo almeno uno con una soluzione potenziale:

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

Vorrei provare a rimuovere prima il tuo .vimrc , comunque. Sembra causare più costernazione.

    
risposta data 27.07.2012 - 11:20
fonte
13

Come risposta qui: link

La vera soluzione è

git config --global core.editor vim -f

Secondo la documentazione di vim - -f option should be used when Vim is executed by a program that will wait for the edit session to finish

    
risposta data 03.10.2014 - 14:36
fonte
0

Usi i plug-in di vang golang? Questa linea causa il problema del valore di uscita vi per me: filetype plugin indent off

La rimozione dell'intero blocco plugin golang in .vimrc ha risolto il problema. Installare il plugin golang usando fugitive può essere semplice: ln -s $GOROOT/misc/vim ~/.vim/bundle/vim-golang

(Ho appena documentato il problema in questo problema sul vim-golang github )

    
risposta data 24.04.2014 - 11:01
fonte
0

Credo che Git config abbia qualcosa di sbagliato.

Quindi la soluzione è ripristinare Git config e ha funzionato per me:

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

$(which vim) è più flessibile di /usr/bin/vim (l'eseguibile di Vim potrebbe non essere presente per alcune persone)

    
risposta data 20.10.2016 - 03:34
fonte

Leggi altre domande sui tag