Vim'deki n'inci son komutu tekrarla


13

Vim'in oldukça sezgisel olabileceğini fark ettim, ancak ikinci-son komutu (veya üçüncü-son, dördüncü-son, vb.) Tekrarlamak için bir yol bulmakta sorun yaşıyorum. Yazarak .normal modda son komutu tekrar edecektir. Tuşuna basıldığında 3.son komut üç kez tekrarlanır.

Diyelim ki oHello<Esc>o zaman yazıyorum A, World!<Esc>. Şimdi anladım

Hello, World!

ekranda. Şimdi almak istediğimi söyle

Hello, World!
Hello
Hello
Hello

Merhaba yazmadan. Vim geçmişi bir komutun ötesinde saklıyor mu, bu yüzden böyle bir şey yazabilirim 3,2.(yani ikinci-son komutu üç kez tekrarlayın)?


2
Herhangi bir şeyi makro olarak kaydedebileceğinizi ( qaoHello<esc>qdaha sonra istediğiniz zaman @atekrarlayabileceğinizi Hellounutmayın). @@Son kullanılan makroyu da tekrarlamanız gerekir.
James McLaughlin

2
3@aMakroyu birden çok kez tekrarlayabileceğinizi varsayabilirim
redbmk

Yanıtlar:


8

Hayır, .komutun vimbir geçmişi yok veya bildiğim normal mod komutları için herhangi bir yineleme geçmişi yok. En az sayıda tuş vuruşu için tavsiye ederim 4oHello<Esc>3jA, World<Esc>. Eğer daha önce yaptıysanız oHello<Esc>A, World<Esc>, bunu takip edebilirsiniz uyy<Ctrl-r>3p.


4

RepeatLast.vim adlı bir eklenti var, ancak istediğinizi bir maliyetle yapıyor: viminiz her zaman makro modunda kayıt yapıyor. Diğer vim paketleri gibi kullandığınız paket yöneticisi ile kurabilir veya ~/.vim/pluginvim kullanıyorsanız veya ~/.config/nvim/plguinneovim kullanıyorsanız basitçe klonlayıp bırakabilirsiniz. İkinci ile son arasındaki işlemi tekrarlamak için 2\.normal modda , son ile son arasındaki işlemi normal modda tekrarlamanız gerekir <n>\..

http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim


2
@Sassan, cevabınızı düzenleyebilir ve hızlıca bu eklentiyi nasıl yükleyeceğinizi ve OP'nin problemini çözmek için tam olarak nasıl kullanılabileceğini açıklayabilir misiniz?
terdon

2
@terdon Birisi cevabımı okursa ve bir paket yöneticisini nasıl kullanacağını bilmiyorsa merak etmesi ve vakit geçirmesi ve paket yöneticileri hakkında bilgi alması gerçekten daha iyidir. Onu okuyan ve vim eklentileri için docs / README.md'den bilgi almayı bilmeyenler için aynı.
Sassan

Konu o değil. Sadece bağlantı olan bir cevap bir cevap olarak kabul edilmez . Yanıtlar bağımsız olmalıdır ve önerilen çözümü uygulamak için gerekli tüm bilgileri sunmalıdır. Düzenleme için teşekkürler!
terdon

1
Aslında katılıyorum, bu eklenti nasıl kurulacağını bilmeyen insanlar tarafından kullanılmak için çok acayip :)
Boris Churzin
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.