Tek bir karakter eklemenin ve ardından ekleme modundan çıkmanın bir yolu var mı?


10

Metinden geçerken ve örneğin, belirli kelimeler veya tırnak işaretleri ya da başka herhangi bir nesnenin arkasına tıklamalar eklerken, her eklemeden sonra Esc ya da Ctrl- [tuşlarına basmak zorunda kalıyorum. Ekler (ve ekler) farklıdır, bu yüzden .fazla yardımcı olmaz.

rTek bir karakterden sonra normal moda dönen buna benzer bir şey var mı, ancak değiştirme modu yerine ekleme modu kullanıyor mu?


3
Belki de metin üzerinde daha anlamlı bir şekilde çalışmak için vim-surround eklentisini kullanmayı (veya genişletmeyi) düşünmelisiniz .
VanLaser

Yanıtlar:


11

Yoksa (bakmadım), bu eşlemeyi şu adreste kullanabilirsiniz .vimrc:

nnoremap <C-I> i <ESC>r

Bu, inserts, bir boşluk yerleştirir, ESCmaymunlar ve tek bir harf replace başlar . Bu haritalandırılır CtrlI.

Bu bir hack ve bir mektup yazmadan önce kaçarsanız asılı bir alan bırakacak - ama hiç yoktan iyidir!


1
Hiç fena değil ... Kimse daha iyi bir şey bulamazsa muhtemelen kullanacağım. :)
Joker

2
@Wildcard Fark etmeden bu kullanım senaryosuna ne kadar girdiğimi fark etmedim. Güzel soru :) Kendi vimrc'ime de ekledim.
Qix - MONICA

2
Günün çoğunu bir grup markdown'u tamir ederek geçirdim. İtalik, satır içi kod, başlık girintileri, köprüler ... hepsi bir karakter ekler. :) Aslında çözümünüz mükemmel; Şimdi kullanmaya başlayacağım.
Joker

2
Dezavantajı: .Komut ile tekrarlanamaz . :(
Joker

1
@Wildcard ne yazık ki, biraz araştırma yaptıktan sonra, .kullanmadığınız sürece manuel olarak tekrarlanan bir şube oluşturmanın bir yolu yoktur repeat.vim.
Qix - MONICA

0

Bir sözcüğün sonuna (imleç konumu yerine) bir karakter eklemek için şunu kullanın:

nnoremap <C-a> a <ESC>r

Bu harita ile Ctrl + a, tabii ki başka bir şey eşleyebilirsiniz.

Bende .vimrcsadece iki tane var, bu yüzden çok acele etmiyorum :)

" Insert char at cursor position
nnoremap <C-i> i <ESC>r
" Append char after cursor position
nnoremap <C-a> a <ESC>r
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.