Ekleme modundan çıkmak için esc yerine ctrl + c kullanmak vi'daki herhangi bir şeyi bozar mı?


15

Vi kullanırken , daha geleneksel yerine Ctrl+ ile ekleme modundan çıkabilirsiniz . İkincisi için ikincisi için kullanılmasının istenmeyen olacağı durumlar var mı? En iyi uygulama dışında bir şey kırıyor mu?CEsc


Birincisine yanlışlıkla vurmak istenmeyen bir durumdur, bu da size hataya neden olur Type :quit<Enter> to exit Vimve Google'ı nasıl geri döneceğimi yaptı. Vurmak isizi doğrudan ekleme moduna döndürür.
Noumenon

Yanıtlar:


9

Ctrl-Cve ekleme modu da dahil olmak üzere çoğu modda / içinde Escaynı değildir . Fark, kısaltmaları tetiklerken tetiklemez . Bunun sizin için önemli olup olmadığı sizin veya kullandığınız herhangi bir eklentinin kısaltmalardan yararlanmasına bağlıdır.vivimEscCtrl-c


Not o varsaymak güvenli olduğunu Escve Ctrl-Cdo not aynı şeyi ifade vim. Aynı siteden başka bir örnek , blok ekleme modundan çıkarken (değil vi).


Bilmek güzel, ama sorum ekleme modundan çıkmakla ilgiliydi.
MDMarra

@MDMarra Doh, sorunuzu yanlış okuyun. Ekleme modu hala farklı: güncellenmiş cevaba bakın.
jw013

1
İşte başa çıkmak zorunda olduğum en önemli fark: görsel blok modlu çok satırlı ekleme, Cc ile değil Esc ile çalışır.
enfazsinasyon

4

Bence demek istiyorsun vim, değil vi.

Bu kesinlikle işe yarıyor vim, ancak Linux olmayan bir işletim sistemine asla dokunmayacağımdan% 100 emin olmadıkça kullanmam. Bunun nedeni, diğer işletim sistemlerinin vibunu uygulamayan kendi uygulamalarına sahip olabilmesidir ve vibu platformlarda çalışırken , Ctrl-C'nin kendi geleneksel davranışı vardır: süreci kesintiye uğratın ve terminalinizi garip bir durumda bırakın .


3
viBugün hala var olmayan ve ele alınmayan bir uygulamaya işaret edebilir misiniz Ctrl-C? Gerçek fark için cevabımı görün .
jw013

2

Eğer atıfta bulunuyorsanız vim, ufak bir fark vardır. CTRL-Ckısaltmaları kontrol etmez ve InsertLeaveolayı tetiklemez . Yani siz veya eklentiler autocmdbağımlı herhangi bir ifade tanımladınız InsertLeave, tetiklenmeyeceklerdir.

Resmi belgelerden http://vimhelp.appspot.com/insert.txt.html :

<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode.  Finish
                abbreviation.

CTRL-C          Quit insert mode, go back to Normal mode.  Do not check for
                abbreviations.  Does not trigger the InsertLeave autocommand
                event.

Sen bir eşleme tanımlayabilirsiniz CTRL-Ciçin <esc>, o zaman tetikleyecektir InsertLeave.

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.