Vim'de komut ve ekleme modu arasında nasıl geçiş yaparım?


88

Vim'i IDE olarak kullanmaya yeni başladım. Bir süredir test editörü olarak kullanıyordum, bu yüzden çok sık komut moduna gitmem gerekmiyordu. Ancak, Java'da programladığım için, dosyayı oluşturmak, derlemek / çalıştırmak için komut moduna gitmem gerekiyor ... vb.

Sorun şu: İki mod arasında geçiş yapmak için iyi bir yola ihtiyacım var.

İnternete baktım ve <Esc>anahtarın bunu yapması gerektiğini söylüyor, ancak bu benim için işe yaramıyor (belki de gVim için değil, nedenini bilmiyorum.)

Ben basın zorunda CTRLOkomut moduna gitmek için her zaman; kaçış tuşu bu modda çalışıyor ... beni ekleme moduna geri getiriyor. Ancak komut modu ile ekleme modu arasında geçiş yapmanın daha iyi veya daha kolay bir yolu var mı?


2
Esc, bir eki bitirmek için kesinlikle doğru anahtardır. Bir insert çeşitli şekillerde başlatılabilir. İmlecinize eklemeye başlamak için küçük i harfi, satırın başında eklemeye başlamak için büyük I harfi, vb.
Vaughn Cato

Boş bir dosyadan başlayarak, aşağıdaki karakterler size içinde "merhaba" kelimesi bulunan bir dosya vermelidir: ihello<ESC>:w hello.txt<ENTER>
Vaughn Cato

8
ctrl-[birçok klavyede Esc'nin yerine geçer.
Vaughn Cato

Yanıtlar:


52

Görünüşe göre Vim'iniz kolay modda başlatılmış . Bakın :help easy.

Bu, Vim -yargümanla veya olarak çağrıldığında veya yapılandırmanızda evimbir :set insertmodeyeriniz olduğunda olur .vimrc. Kaynağı bulun ve devre dışı bırakın; geçici olarak bu Ctrl+ ile de yapılabilir O :set noim Enter.


Bence bu oldu. Dosyamda ekleme modunu etkinleştirmiştim. Çıkardıktan sonra, kaçış anahtarı mükemmel çalışıyor. Teşekkürler!
Ravish Chawla

8
bu kolay mod !?
Stachu

5
Vim kolay mod, şimdi bu bir oksimoron. Vim'den çıkmanın mümkün olduğu yer burası mı?
Davos

1
@Davos, ekleme modunda başlatıldığı moddur, bu nedenle ironik bir şekilde vim'den çıkmanın mümkün olmadığı bir moddur: p "normal mod" çok daha kolaydır, sadece alt + :, x XD
Fuseteam

115

ESCTuşuna basıldığında , ekleme modundan normal moda geçilir; burada :bir komut yazmak için tuşuna basabilirsiniz . iEkleme moduna geri dönmek için tekrar basın ve gitmeniz iyi olur.

Ben bir Vim gurusu değilim, bu yüzden başka biri daha deneyimli olabilir ve size başka seçenekler verebilir.


3
Çoğumuz için, ancak kabul edilen yanıt belirli soruna yanıt vermişti.
Saul Axel Martinez Ortiz

21

Bu, diğer sorularda da belirtilmiştir , ancak tüm klavyelerde ctrl + [eşdeğerdir ESC.


Bunu hiç bilmiyordum, kaçış anahtarı desteklenmediğinde faydalı
shuva

Vay canına, bu bilgi için teşekkürler! Tmux'un tuş vuruşu sırasını kopyalamak artık çok daha mantıklı.
Thomas Legris

4

Kullanma jj

Benim durumumda, aşağıdaki .vimrc (veya gVim içinde _vimrc) ayarı.

inoremap jj <Esc>   """ jj key is <Esc> setting

Bu yaygın bir yeniden eşlemedir. Ek karakter girişi için beklediği için biraz gecikmeli buluyorum. Alternatif olarak, bir Macbook'ta KeyRemap4MacBook gibi bir şey kullanarak esc için capslock anahtarınızı yeniden eşleştirin: github.com/tekezo/KeyRemap4MacBook
Koobz

sekmeyi esc ile yeniden eşleştirmeyi daha kolay buldum: 3
Fuseteam

3

Emacs'den geliyorum, ctrl +tuşlardan bir şeyler yapmaktan hoşlandığımı buldum ve vim'de her ikisini de buldum [ctrl + C]ve [alt + backspace]ekleme modundan Normal moda girecek. Bunlardan herhangi birinin sizin için işe yarayıp yaramadığını deneyebilirsiniz.



0

Bence bu tür bir sorun için bir çözüm daha var, ki bu oldukça nadirdir ve eğer OS X Sierra'da vim kullanıyorsanız bunu yaşayabilirsiniz. Aslında bu Esc düğmesiyle ilgili bir sorun - vim ile değil. Örneğin, Esc kullanarak youtube'da tam ekran videodan çıkamadım, ancak vim ile aynı sorunu yaşayana kadar birkaç ay bununla yaşadım.

Bu çözümü buldum . Harici bağlantıyı takip edecek kadar tembelseniz, Siri'yi kapatmak ve Etkinlik Monitörü'ndeki işlemi sonlandırmak yardımcı oldu.


0

İmleci ekleme modunda hareket ettirmek için Alt + H, J, K, L tuşlarını kullanabilirsiniz.


1
Hayır, yapamazsınız. Bu muhtemelen yapılandırmanızın bir yeniden eşlemesi.
Saul Axel Martinez Ortiz

@SaulAxelMartinezOrtiz evet yapabilirsiniz, teknik olarak normal moddan çıktıktan sonra normal modda hareket edebilirsiniz: p
Fuseteam
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.