<Esc> O üzerinde hız tümseği (İmlecin üstüne yeni satır eklemek için Normal'e ekle)


16

Genellikle Ekle modundayken EscNormal moda geçmek için tuşuna basarım ve hemen Oimlecin üzerinde yeni bir satıra başlamak ve orada Ekle moduna geçmek için vururum .

Ama bunu yaptığımda O, herhangi bir görünür yanıt olmadan önce vurulduktan sonra 1 saniyelik bir gecikme var. Yeni metin karakteri belli kümesinin herhangi başlıyorsa, o 1 saniyelik gecikme sırasında yeni metin yazmaya başlayın Dahası eğer (örneğin j, k, m, n, o), I did not diğer bazı operasyonun tam ortasında sona niyet, genellikle bir karışıklık yapmak, hangi noktada zarar ve geri aldım makul emin oluncaya kadar geri alma ve redos ile uğraşmak zorunda.

Bu tatsızlıktan kaçınmak için, her yazdıktan sonra bir saniye duraklama alışkanlığım var O. Ama bu beni yavaşlatır ve aksi halde olacağım vim hızı iblisi olmamı engeller.

Buna ne sebep olur? Bir düzeltme veya geçici çözüm var mı?

Yanıtlar:


15

Bu sadece terminalde olur, ancak GVIM'de olmaz, değil mi? Bunun nedeni, Vim'in aynı anahtarlarla başlayarak tek tek anahtarlar ve bir ANSI Escape sırası arasında ayrım yapamamasıdır (örneğin ^[O..., sizin durumunuzda <Esc>bunu izler O).

Altta yatan tüm karmaşıklıkları :help 'timeout'(ve aşağıdaki seçenekleri) okuyabilirsiniz . Burada sorunu hafifleten önerilen bir yapılandırma da bulacaksınız:

:set timeout timeoutlen=1000 ttimeoutlen=100

3
Ayrıca kullanabilirsiniz set noesckeys; bunun Ekle modunda ok tuşlarını (ve belki de diğer bazı tuşları?) devre dışı bırakmanın yan etkisi vardır, bu yüzden herkes için olmayabilir.
Martin Tournoij

2
@Carpetsmoker "Set noesckeys" ile ilgili ... bu, ancak Ekle modundaysa çalışır. Başlamak için Ekle modunda olduğumu söylediğimi biliyorum; Ancak ben genellikle <Esc> O Normal moddan başlayarak (esas olarak Ekle veya Normal modda başlayıp başlamadığımı% 100 emin olmadığımda) bu yüzden de bu durumda çalışan bir şey istiyorum.
Don Hatch

1
@DonHatch tuşuna basarak girildiği :nnoremap ^[O Oyerde kullanabilirsiniz (olarak da görünebilir ). ^[<C-v><Esc><1b>
Martin Tournoij

5

Geçici çözüm olarak + ESCOkullanın . + Bir komut için normal modda koyar, sonra o bitince sen ekleme moduna döner.ControlOOControlO


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.