Terminalde Git kesinleştirme VIM'i açar, ancak terminale geri dönemez


209

Şu anda GitHub'ı öğrenmeye çalışmak ve bu Git'i nettuts'ta temel öğretici yapmak. Taahhüt yapma dersindeyim.

Öğretmen yazıyor git commitve VIM'i editörü olarak açıyor ( bunun yerine Yüce Metin 2'de nasıl açılacağını bilmek istiyorum) yine de VIM'de açılıyor ve 1 satır ekleyerek bunun ilk taahhüdüm ve kaydet tuşuna basıyorum .

Daha sonra çıktıyı masaüstüne kaydetmemi istiyor, onun ekran görüntüsünde görmediğim bir şey. Şimdi hala VIM'deyim ve 'normal' terminale nasıl döneceğimi bilmiyorum :(

Bunu anlayamadım, bu yüzden sadece terminalden çıktım ve yeniden başlattım, git tekrar taahhüt ettim ve kopyalar hakkında bazı uyarı mesajları vardı! (E)editYine de ihtiyacım olup olmadığından emin değilim (A)abort.

git durumu

resim açıklamasını buraya girin

gayret

resim açıklamasını buraya girin

terminali yeniden açtığımda ve git taahhüdü tekrar yaptığımda mesaj

resim açıklamasını buraya girin


3
Eğer sadece vim kaydetmek ve çıkmak için bilmek istiyorum, o : wq
guido

1
Burada da aynı sorun var ... Taahhüt etmeye çalıştığımda, terminal vazgeçemeyeceğim bir tür editör açar. Çok sinir bozucu!
Kokodoko

3
@Kokodoko evet git commit -m 'my message'şimdi taahhüt ediyorum , işte bu :) bir editöre gerek yok, asla 1 kullanmaya gerek yok, sadece 1 astar gerekiyordu.
Leon Gaban

1
@LeonGaban kısa taahhüt mesajları ilk taahhüt için uygundur, ancak onlardan kısa bir konuya sahip olma tekniğini benimsemeye ve daha sonra bu taahhütte gerçekte neler olduğunu detaylandırmaya çalışmalısınız.
liamvictor

1
Eğer şaşırtıcı @LeonGaban
baydi

Yanıtlar:


368

Çalışmanızı kaydetmek ve çıkmak için Escve düğmesine basın :wq(yazmak için w ve çıkmak için q).

Alternatif olarak, hem kaydedip çıkış basarak olabilir Escve daha sonra:x

Koşmak başka düzenleyici ayarlamak için export EDITOR=myFavoriteEdiorterminalde, nerede myFavoriteEdiorolabilir vi, gedit, subl(Yüce için) vb


7
Komut dizisini ve gerektiğinde editörlerin nasıl değiştirileceğini gösteren süreçte +1 (ama ciddiye, neden herkes vim dışında bir editör kullanmak istesin :)
Lieven Keersmaekers

15
NB Basit bir :xtasarruf ve vim biraz daha hızlı :wq;)
Xavier

1
Düzenleyiciyi kalıcı olarak kullanabilirsiniz: git config --global core.editor myFavoriteEditor
Machta

2
esc anahtarı benim için hiçbir şey yapmaz. Bu şifreli komutlar nedir, bu 2016 veya 1996 mı? İnanılmaz ...
oyalhi

1
Tamamen çalışmıyor. Evet bir taahhüt mesajı girdim. Vim berbat.
Dave Kielpinski

40

gerçekten VIM sorununun cevabı değil, aynı zamanda taahhüt mesajını girmek için komut satırını kullanabilirsiniz:

git commit -m "This is the first commit"

19

Normal moda dönmeniz ve kayıt mesajını

<Esc>:wq

veya

<Esc>:x

veya

<Esc>ZZ

EscAnahtar döner Eğer ekleme için mod , normal modda. :wq, :xYa da ZZbir sekans değişikliğini yazar ve editör çıkar.


2
Hayır ... esc anahtarı hiçbir şey yapmaz. "Şube birleştirme ustası ..." bölümünde sıkıştım. Bu birleştirmenin neden gerekli olduğunu açıklamak için lütfen bir taahhüt mesajı girin.
Kokodoko

Did Bir ileti taahhüt girmek? Tuşuna bastığınızda ne olur <Esc>:wq?
Lieven Keersmaekers

2
Benim durumumda hiçbir şey olmuyor. Bu şifreli komutlar nedir, bu 2016 veya 1996 mı?
oyalhi

1
@ Homo-Erectus - Yaklaşık 4 yıl önce vim kullanmaya başladım ve tek pişmanlığım, daha önce başlamadı. Zamanın boşa harcandığını düşünmüyorum, denemelisin. Size dik bir öğrenme eğrisi var ama buna değer. Komutlara gelince, ekleyecek çok şeyim yok. <esc> yazın, şunu yazın: x yazın ve bu olmalıdır.
Lieven Keersmaekers

@oyalhi vim
Anatoly

16

Sadece vim "kaydet ve çık" komutunu :wqyapmak hile yapmalıdır.

Git'in başka bir düzenleyicide açmasını sağlamak için Git core.editorayarını istediğiniz düzenleyiciyi çalıştıran bir komuta değiştirmeniz gerekir .

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


4
Düzenleyiciyi yüce metne ayarlama ipucu için teşekkürler. Bir ayarlamak zorunda olsa ben bir sorun çıkıyor vermedi --waitbayrağı: git config --global core.editor "subl --wait". Bu önlerAborting commit due to empty commit message.
Eric

16

Bu sorunuzun cevabında ...

Bunun yerine Sublime Text 2'de nasıl açılacağını bilmek istiyorum

Pencereler için:

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

İçin yolun sublime_text.exedoğru olup olmadığını kontrol edin ve gerekirse ayarlayın.

Mac / Linux için:

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

Aşağıdaki gibi bir hata mesajı alırsanız:

hata: 'subl -n -w' düzenleyicisiyle ilgili bir sorun oluştu.

İçin takma ad oluşturun subl

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

Yolun makinenizle eşleşip eşleşmediğini tekrar kontrol edin.

Sublime Text için git'e dönmek için cmd Spencereyi kaydedip kapatın cmd W.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.