Git commit nel terminale apre VIM, ma non può tornare al terminale


209

Provando ad imparare GitHub al momento e facendo questo tutorial Git essentials su nettuts. Sono sulla lezione di impegnarmi.

L'insegnante digita git commite apre VIM come suo editor (mi piacerebbe anche sapere come aprirlo in Sublime Text 2 invece) comunque si apre in VIM e aggiungo 1 riga dicendo che questo è il mio primo commit e premi Salva .

Quindi mi chiede di salvare l'output sul desktop, cosa che non ho visto nel suo screencast. Ora sono ancora in VIM e non sono sicuro di come tornare al terminale "normale" :(

Non sono riuscito a capirlo, quindi sono uscito dal terminale e l'ho riavviato, ho eseguito nuovamente il commit di git e ho ricevuto alcuni messaggi di avviso sui duplicati! Non sono sicuro se ho bisogno di (E)editcomunque o(A)abort .

stato git

inserisci qui la descrizione dell'immagine

vim

inserisci qui la descrizione dell'immagine

messaggio quando riapro il terminale e eseguo nuovamente il commit di git

inserisci qui la descrizione dell'immagine


3
se vuoi solo sapere come salvare ed uscire da vim, è : wq
guido

1
stesso problema qui ... non appena provo a impegnarmi, il terminale apre una sorta di editor da cui non riesco a smettere. Molto noioso!
Kokodoko,

3
@Kokodoko sì, mi impegno con git commit -m 'my message'ora, tutto qui :) non c'è bisogno di un editor, non ho mai avuto bisogno di usare 1, solo 1 fodera.
Leon Gaban,

1
I messaggi di commit brevi di @LeonGaban vanno bene per il primo commit, ma da loro in poi dovresti provare ad adottare la tecnica di avere un argomento breve e quindi dettagliare cosa è realmente accaduto in quel commit.
liamvictor,

1
@LeonGaban sei incredibile
baydi

Risposte:


368

Per salvare il lavoro e uscire premere Esce quindi :wq(w per scrivere e q per uscire).

In alternativa, è possibile salvare e uscire premendo Esce quindi:x

Per impostare un altro editor di eseguire export EDITOR=myFavoriteEdiorsul terminale, dove myFavoriteEdiorpuò essere vi, gedit, subl(per sublimi) etc.


7
+1 su come spiegare la sequenza di comandi e nel processo che mostra come cambiare editor se necessario (ma seriamente, perché qualcuno dovrebbe voler usare un editor diverso da VIM :)
Lieven Keersmaekers

15
NB Un semplice :xsalvataggio ed esci da vim è un po 'più veloce di :wq;)
Xavier il

1
Per impostare l'editor in modo permanente è possibile utilizzare: git config --global core.editor myFavoriteEditor
Machta

2
la chiave esc non fa nulla per me. Cosa sono questi comandi criptici, è questo 2016 o 1996? Incredibile ...
oyalhi,

1
Totalmente non funziona. Sì, ho inserito un messaggio di commit. Vim fa schifo.
Dave Kielpinski,

40

in realtà non è la risposta al problema VIM ma è possibile utilizzare la riga di comando per inserire anche il messaggio di commit:

git commit -m "This is the first commit"

19

È necessario tornare alla modalità normale e salvare il messaggio di commit con entrambi

<Esc>:wq

o

<Esc>:x

o

<Esc>ZZ

Il Esctasto consente di tornare dalla modalità di inserimento alla modalità normale . La sequenza :wq, :xo ZZscrive le modifiche ed esce dall'editor.


2
No ... il tasto esc non fa nulla. Sono bloccato in "Unisci succursale di ..." Inserisci un messaggio di commit per spiegare perché questa unione è necessaria.
Kokodoko,

Hai inserito un messaggio di commit? Cosa succede quando si preme <Esc>:wq?
Lieven Keersmaekers,

2
Nel mio caso non succede nulla. Cosa sono questi comandi criptici, è questo 2016 o 1996?
Oyalhi,

1
@ Homo-Erectus - Ho iniziato a usare vim circa 4 anni fa e il mio unico rimpianto è che non ho iniziato prima. Non lo considero uno spreco di tempo, dovresti provarlo. Ha una curva di apprendimento ripida, ma ne varrà la pena. Per quanto riguarda i comandi, non ho molto da aggiungere. Digita <esc>, digita:, digita x e dovrebbe essere quello.
Lieven Keersmaekers,

@oyalhi Non è mai tardi per iniziare a usare vim
Anatoly Yakimchuk

16

Fare semplicemente il comando vim "salva ed esci" :wqdovrebbe fare il trucco.

Per fare in modo che Git lo apra in un altro editor, è necessario modificare l' core.editorimpostazione Git in un comando che esegue l'editor desiderato.

git config --global core.editor "command to start sublime text 2"


4
Grazie per il suggerimento su come impostare l'editor su testo sublime. Ho incontrato un problema, però, ho dovuto impostare un --waitbandiera: git config --global core.editor "subl --wait". Questo impedisceAborting commit due to empty commit message.
Eric,

16

Questo è in risposta alla tua domanda ...

Vorrei anche sapere come aprirlo in Sublime Text 2, invece

Per Windows:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

Verificare che il percorso per sublime_text.exesia corretto e, se necessario, modificarlo.

Per Mac / Linux:

git config --global core.editor "subl -n -w"

Se ricevi un messaggio di errore come:

errore: si è verificato un problema con l'editor 'subl -n -w'.

Crea l'alias per subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

Controlla di nuovo che il percorso corrisponda al tuo computer.

Per Sublime Text è sufficiente salvare cmd Se chiudere la finestra cmd Wper tornare a git.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.