Git commit di terminal membuka VIM, tetapi tidak bisa kembali ke terminal


209

Mencoba mempelajari GitHub saat ini dan melakukan tutorial penting Git ini di nettuts. Saya ada pelajaran tentang membuat komitmen.

Guru mengetik git commitdan membuka VIM sebagai editornya (saya juga ingin tahu bagaimana membuatnya terbuka di Sublime Text 2) yang dibuka di VIM dan saya menambahkan dalam 1 baris yang mengatakan ini adalah komit pertama saya dan tekan save .

Selanjutnya itu meminta saya untuk menyimpan output ke desktop, sesuatu yang tidak saya lihat di screencast-nya. Sekarang saya masih di VIM dan tidak yakin bagaimana untuk kembali ke terminal 'normal' :(

Saya tidak bisa mengetahuinya jadi saya baru saja keluar dari terminal dan meluncurkannya kembali, apakah git melakukan lagi dan memiliki beberapa pesan peringatan tentang duplikat! Tidak yakin apakah saya perlu (E)editatau (A)abort.

status git

masukkan deskripsi gambar di sini

vim

masukkan deskripsi gambar di sini

pesan ketika saya membuka kembali terminal dan melakukan git commit lagi

masukkan deskripsi gambar di sini


3
Jika Anda hanya ingin tahu cara menyimpan dan keluar dari vim, ini : wq
guido

1
masalah yang sama di sini ... begitu saya mencoba melakukan, terminal membuka beberapa jenis editor yang saya tidak bisa hentikan. Sangat menyebalkan!
Kokodoko

3
@Kokodoko ya saya hanya komit dengan git commit -m 'my message'sekarang, itu saja :) tidak perlu editor, tidak perlu menggunakan 1, hanya perlu 1 liner.
Leon Gaban

1
@LeonGaban pesan komit pendek tidak apa-apa untuk komit pertama tetapi dari mereka Anda harus mencoba mengadopsi teknik memiliki subjek pendek dan kemudian merinci apa yang sebenarnya terjadi dalam komit itu.
liamvictor

1
@LeonGaban Anda luar biasa
baydi

Jawaban:


368

Untuk menyimpan pekerjaan Anda dan keluar, tekan Esclalu :wq(untuk menulis dan q untuk berhenti).

Atau, Anda bisa menyimpan dan keluar dengan menekan Escdan kemudian:x

Untuk mengatur editor lain berjalan export EDITOR=myFavoriteEdiorpada terminal Anda, di mana myFavoriteEdiordapat vi, gedit, subl(untuk luhur) dll


7
+1 pada menjelaskan urutan perintah dan dalam proses yang menunjukkan cara beralih editor jika diperlukan (tapi serius, mengapa ada orang yang ingin menggunakan editor selain vim :)
Lieven Keersmaekers

15
NB :xSimpan dan keluar sederhana vim ini sedikit lebih cepat daripada :wq;)
Xavier

1
Atur editor secara permanen yang dapat Anda gunakan: git config --global core.editor myFavoriteEditor
Machta

2
kunci esc tidak melakukan apa pun untuk saya. Apa perintah rahasia ini, apakah ini 2016 atau 1996? Luar biasa ...
oyalhi

1
Sama sekali tidak bekerja. Ya saya memasukkan pesan komit. Vim menyebalkan.
Dave Kielpinski

40

sebenarnya bukan jawaban untuk masalah VIM tetapi Anda bisa menggunakan baris perintah untuk juga memasukkan pesan komit:

git commit -m "This is the first commit"

19

Anda harus kembali ke mode normal dan menyimpan pesan komit dengan baik

<Esc>:wq

atau

<Esc>:x

atau

<Esc>ZZ

The Escpengembalian kunci Anda dari insert mode untuk yang normal modus. The :wq, :xatau ZZurutan menulis perubahan dan keluar dari editor.


2
Tidak ... kunci esc tidak melakukan apa-apa. Saya terjebak di "Pemimpin cabang gabungan ..." Silakan masukkan pesan komit untuk menjelaskan mengapa penggabungan ini diperlukan.
Kokodoko

Apakah Anda memasukkan pesan komit? Apa yang terjadi ketika Anda menekan <Esc>:wq?
Lieven Keersmaekers

2
Dalam kasus saya tidak ada yang terjadi. Apa perintah rahasia ini, apakah ini 2016 atau 1996?
oyalhi

1
@ Homo-Erectus - Saya mulai menggunakan vim sekitar 4 tahun yang lalu dan satu-satunya penyesalan saya adalah saya tidak memulai lebih awal. Saya tidak menganggap itu waktu yang terbuang, Anda harus mencobanya. Memang memiliki kurva belajar curam pikiran Anda tetapi itu akan sangat berharga. Sedangkan untuk perintah, saya tidak perlu menambahkan banyak. Ketik <esc>, ketik:, ketik x dan itu seharusnya.
Lieven Keersmaekers

@oyalhi Tidak pernah terlambat untuk mulai menggunakan vim
Anatoly Yakimchuk

16

Cukup melakukan perintah "simpan dan keluar" vim :wqharus melakukan trik.

Agar Git membukanya di editor lain, Anda perlu mengubah core.editorpengaturan Git ke perintah yang menjalankan editor yang Anda inginkan.

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


4
Terima kasih atas tip pengaturan editor untuk teks yang luhur. Aku berlari ke satu masalah meskipun, saya harus menetapkan --waitbendera: git config --global core.editor "subl --wait". Ini mencegahAborting commit due to empty commit message.
Eric

16

Ini untuk menjawab pertanyaan Anda ...

Saya juga ingin tahu bagaimana membuatnya terbuka di Sublime Text 2 sebagai gantinya

Untuk Windows:

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

Periksa apakah jalurnya sublime_text.exebenar dan sesuaikan jika perlu.

Untuk Mac / Linux:

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

Jika Anda mendapatkan pesan kesalahan seperti:

galat: Ada masalah dengan editor 'subl -n -w'.

Buat alias untuk subl

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

Sekali lagi periksa apakah jalurnya cocok dengan mesin Anda.

Untuk Sublime Text cukup simpan cmd Sdan tutup jendela cmd Wuntuk kembali ke git.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.