2010-11-03 11 views
128

Non è necessario modificare più messaggi di commit, ma è successo una o due volte e non ricordo di averlo mai visto. Spero che qualcun altro lo abbia Quando I git rebase -i HEAD~7, l'elenco previsto si apre in vi esattamente come previsto. Modifico i valori su edit laddove appropriato e quindi su :wq.Impossibile eseguire l'editor

Risultato: Could not execute editor

L'impostazione core.editor nel mio globale .gitconfig è vi (ho anche cambiato in vim in una mossa disperata selvaggiamente). Ho provato a utilizzare mate, ma questo non ha nemmeno aperto l'elenco iniziale correttamente, quindi l'ho cambiato.

Sto usando la v1.7.3 e vorrei ricevere qualche suggerimento.

+1

La fonte include 'git_editor "$ TODO" || die_abort "Impossibile eseguire l'editor" '. Dal momento che dici che l'editor in realtà viene fuori, significa che restituisce un codice di uscita diverso da zero. Puoi replicare questo comportamento usandolo normalmente sulla riga di comando? – Cascabel

+0

Ciò che è strano per me è che vi si lancia per visualizzare l'elenco di commit, ma quando salvi e chiudo tutto muore. Vedi la mia risposta per il cambiamento che ho fatto per farlo funzionare magicamente. –

+0

Quale sistema operativo stavi correndo? L'esecuzione di OSX Lion I ha avuto lo stesso problema e la tua risposta l'ha risolta. +1 –

risposta

171

Ieri era solo uno di quei giorni. Su un'allodola, ho deciso di impostare il percorso completo per vi (ad esempio /usr/bin/vi) anziché solo l'eseguibile. Ora tutto funziona. Devo ammettere che non capisco dato che vi è perfettamente eseguibile da solo (la mia variabile env $EDITOR è anch'essa impostata su vi), ma sta funzionando e il mio karma tecnico non è stato così bello ultimamente quindi forse non dovrei Mi chiedo se le divinità ...

+5

Dove hai impostato il percorso completo per/usr/bin/vi? – Amala

+111

L'ho messo nel mio file di configurazione globale: 'git config --global core.editor"/usr/bin/vim "'. –

+2

Strano, ma ha funzionato anche per me. – EndangeredMassa

4

Ho avuto questo problema, ed è stato causato da qualche parte del plugin vcscommand per vim. vim Partendo da uno di questi comandi ha portato il codice di uscita 1 ("errore"):

  • vi
  • vim

Ma questi mi ha dato il codice di uscita 0 ("successo"):

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

sono stato in grado di risalire al plugin specifica disabilitando ~/.vimrc e file in ~/.vim rinominandoli e funzionante vi -c q ; echo $? per eseguire rapidamente vim e stampare il codice di uscita.

+1

Ho avuto lo stesso problema e ho impostato il percorso completo per vim: git config --global core.editor /usr/bin/vim – James

+0

Un altro possibile colpevole sembra essere [il plugin per i patogeni su Mac OS X] (http : //pivotallabs.com/ny-stand-up-gonna-get-down-on-friday-the-13th/). – sschuberth

0

Sei sicuro che/usr/bin/vim era su 1.7.3? Ho avuto lo stesso problema perché avevo installato il plug-in di backup che è supportato solo in 1.7.3 e per qualche ragione/usr/bin/vim è stato improvvisamente downgrade a 1.7.2, forse a causa di un importante aggiornamento di XCode. ..

0

Ho avuto questo problema anche quando avevo già aperto vim per un rebase in un altro terminale. Avevo iniziato il rebase, mi sono interrotto e quando sono tornato, l'ho provato di nuovo da zero nell'altro terminale, non rendendomi conto di trovarmi nel mezzo della stessa rebase altrove. Il solo completamento della sessione di reimage di vim nell'altro terminale ha funzionato correttamente.

1

Mi ci è voluto un po 'per rintracciare il mio problema su uno dei miei plugin.

(in particolare, è stato https://github.com/ervandew/supertab)

Direi che è l'aspetto negativo di aggiornare automaticamente tutti i miei plugin.

Quindi il miglior consiglio, disabilitare metà del tuo vimrc e plugin. Se ciò non aiuta, il problema è con l'altra metà.

+0

Ho lo stesso problema con il supertab. – harithski

+0

Come hai rintracciato in supertab? Sarebbe davvero un'informazione utile. –

0

Stranamente, solo provare di nuovo ha funzionato per me.

Le variabili core.editor e $ EDITOR non sono impostate.

3

Per me, è stato un problema con il mio .vimrc. Rinominare temporaneamente quel file risolto. Seguito dal debug del mio .vimrc. Questo è molto simile all'esperienza di ignu.

+0

Sì, ho avuto! Colorscheme silenzioso macvim nel mio .vimrc, per impostare il colorscheme a quello se esistesse, e per non infastidirmi se non lo fosse (quindi la riga di comando vim avrebbe funzionato). D'altra parte, che ha cambiato lo stato di uscita a 1 quando non ha funzionato, anche con silent !. – Max

127

Il seguente comando

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

lo ripara.

[modifica]

Ora vedo che qualcuno ha già postato nei commenti. Spero che sia ancora utile per alcuni ciechi come me.

+4

Per Windows ad esempio (le virgolette mancanti erano il mio problema): git config --global core.editor "'C: \ Programmi (x86) \ Vim \ vim74 \ vim.exe'" – chrjs

+1

Sì, questo ^. Per chiarire questo, utilizzare le virgolette doppie attorno alle virgolette singole intorno al percorso dell'eseguibile. – Jacob

+0

In effetti lo era! questo ha funzionato per me, grazie! – davidawad

3

se si voleva per qualsiasi uso motivo sublime si potrebbe fare qualcosa di simile a quanto segue nel file di configurazione globale:

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" 
Problemi correlati