Geçerli modda normal modda değişiklik yapmak için geri al tuşu kullanılır mı?


9

Bazen normal modda bir komut girerken yazım hatası yapabilirsiniz, örneğin 10dkyazmak istediğimde, yanlışlıkla yazmaya başlayabilirim 19d.

Komut henüz tamamlanmadığından / tamamlanmadığından, backspace tuşunu kullanarak yanlış anahtarları silmek mümkündür, örneğin: 19d<backspace><backspace>0dkescape tuşuna basmak ve komutu yeniden denemek yerine?

Yan soru: Veri yapısı için geçerli komutu yerine getirmeden önce tutan bir Vim terimi var mı?


1
Muhtemelen, bu daha yeni sürümlerde bir özellik olarak sorulabilir!
SibiCoder


4
AFAIK mümkün değil - ancak, bu diziler kısa olduğu için böyle bir özelliğin hangi kazancın elde edeceğinden emin değilim. Tüm diziyi yeniden denemeniz gerektiğinde, en azından böyle bir hata yapana kadar tekrarlamaya "zorlanırsınız";) (yani - tekrarlanan karakter! Pun amaçlıdır).
VanLaser

1
@VanLaser Bir Vimmer en kötü kabusu bir şey tekrarlamak için "zorlanıyor"; Ayrıca, ben yazmayı emmek ve boş bir klavye var, bu yüzden doğru almadan önce bir komut 256 kez karışıklık benim için nadir değildir.
HellaMad

4
Kötü bir daktilocu boş bir klavye kullandığında ne ters gidebilir?
romainl

Yanıtlar:


3

Bunu yapmanın bir yolu yoktur ve olmaması normaldir: normal mod komutları genellikle oldukça kısadır ve karıştırırsanız iptal edilebilir Esc.

Olası bir geçici çözüm :normalkomutu kullanmak olacaktır . İşlemi daha uzun hale getirir, ancak :normal 10jkomut satırına yazarsanız , Vim 10jnormal modda yazmışsınız gibi yürütülür . (Bkz. :h :normal)

Ayrıca, şu satırları da ekleyebilirsiniz .vimrc:

nnoremap <F4> :call NormalModeCommand()<CR>

function! NormalModeCommand()
    let command = input("Normal command: ")
    execute "normal " . command
endfunction

F4Fonksiyonu çağıracak bir eşleme oluştururlar (burada istediğinizi kullanın) NormalModeCommand().

İşlev, komut satırına bir dize yazmanıza ve ardından normal mod komutu olarak yazdığınız dizeyi yürütmenize olanak tanır. Dizeyi komut satırına yazarken diğer komutlar gibi düzeltebilirsiniz. Tabii ki ideal değil ama bir kez daha Vim bunu yapmak anlamına gelmiyor.

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.