Vim: Görsel blok moduna nasıl eklenir?


145

Vim'de görsel blok modundayken (ctrl-V tuşlarına basarak) nasıl ekleyebilirsiniz?



1
CEVAPIN HIZLI ÖZETİ: Cevabı buraya basit bir şekilde koyacağım. Çok fazla yorum var, bu konu boğuluyor. 1) Vim sürümünüzde: ver yazarak Vim sürümünüzde + visualextra'nın etkin olup olmadığını kontrol edin. 2) Önce düzenlemek istediğiniz şeyleri işaretleyerek ekler ve ardından I (büyük harf i) tuşuna basarsınız - küçük harf çalışmaz. 3) Bunu yaptıktan sonra, yalnızca ilk satıra eklediğiniz gibi görünecektir, ancak işiniz bittiğinde ESC ve j tuşlarına basın, ardından metin diğer satırlara kopyalanır. Benim için böyle.
Zeth

Yanıtlar:


203

Bunu dene

Bir metin bloğu seçtikten sonra Shift+ iveya büyük harf tuşlarına basınI .

Küçük harf i çalışmaz.

Sonra istediğiniz şeyleri yazın ve son olarak tüm satırlara uygulamak için tuşuna Esciki kez basın .




Bu işe yaramazsa ...

Var mı kontrol edin +visualextraVim sürümünüzde etkin .

Bunu yazarak yapabilirsiniz :ver özellikler listesine girip kaydırma yaparak yapabilirsiniz. (Biçimi tek olduğu için kopyalayıp bir arabelleğe yapıştırıp artımlı arama yapmak isteyebilirsiniz.)

Etkinleştirmek bu sorunun kapsamı dışındadır, ancak eminim bir yerde bulabilirsiniz.


13
Unutma A!
jmdeldin

42
Metin çoğaltılmadan önce ekleme modundan çıkmak için escape tuşuna basmanız gerekir.
Brandon Joyce

19
Hiç kimse bunun işe yaramadığını gördü mü? CentOS üzerinde değiştirilmemiş bir vim kurulumum var. Ctrl + v tuşlarına, birkaç kez ja tuşuna basıyorum ve imlecin birkaç satırın ilk karakterini vurguladığını görüyorum. Üst karakter + i tuşlarına basarım. İmleç ilk satırın ilk karakterine taşınır, ancak normal moda geri döndüm. Bunu biliyorum çünkü "a" ya basarsam, karakteri sağa taşır ve "- INSERT -" der. Birkaç karakter yazıp escape tuşuna basarsam, diğer satırlara uygulanmaz.
Tyler Collier

2
@TylerCollier Sorun digitalocean üzerinde Ubuntu 14.04 üzerinde yaşıyorum. Bir çözüm bulduysanız lütfen yorum yapın.
Zack Burt

2
@ZacharyBurt Ubuntu 14.04 (olarak yüklendi vi) ile yüklenen varsayılan vim visualextraözelliği içermez , bu nedenle blok ekleme orada çalışmaz. etkinleştirildiği sudo apt-get install vimdaha tam özellikli bir sürüm getirir visualextra. @TylerCollier Bu, CentOS kurulumunuzda da aynı sorun olabilir: vim --versionetkinleştirilmiş özelliklerin tam listesini görmek için çıkışını kontrol edin .
Gabriel Grant

41
  1. ctrl ve v // tuşlarına basın
  2. shift ve i // tuşlarına basın ve ardından herhangi bir metni yazın
  3. esc esc tuşuna basın // esc'e iki kez basın

Bastıktan sonra ctrl + v, sen basabilirsiniz jhızla seçme düğmesine basınca hat (lar) ya da basına kmevcut konumda yukarıda hızla seçme hattı (lar). Seçimi yapmak için shifttuşu upveya downhatalarıyla da kullanabilirsiniz .
tyler.frankenstein

1
Bütün cevaplar arasında benim için çalışan tek cevap bu. Demlemek kurulumunu kullanan bir mac'tayım
Daniel Kaplan

Ben kolayca olamayacağını yıllardır şikayetçi oldum ben (gibi nsert c blokta seçmek de hange). Yani başkentte i, çok şaşırdım. :normal iINPUT<CR>Satırların başında giriş yapmak için kullanıyorum . Bunun için bir demet teşekkürler!
Tim Visée

Esc tuşuna iki kez basmanız gerektiğini düşünmüyorum. Esc'den sonra herhangi bir tuşa basarsanız, metin otomatik olarak güncellenir. Değilse, yarım saniye kadar yapacak.
Shahbaz

29

Ayrıca bir metin bloğunu silmek ve değiştirmek istediğiniz bir kullanım durumunuz olabilir.

Bunun gibi

Hello World
Hello World

Görsel blok seçimini "W" den önce tıklayabilir ve Shift+ i- Tip "Cool" - HitESCGörsel blok seçimini ve ardından görsel blok seçimi ile "Dünya" silebilirsiniz.

Alternatif olarak, bunu yapmanın daha serin yolu , her iki satırda da sadece görsel blok seçimi "Dünya" yı seçmektir. Tip ciçin change. Şimdi insertmoddasınız. İstediğiniz şeyleri ekleyin ve tıklayın ESC. Her ikisi de daha az tuşa basarak yansır.

Hello Cool 
Hello Cool

son adım benim için yararlı, vurmak gerekir ESCsonra tüm işaretli çizgi yazdığınız char gösterecektir.
Webb Lu

harika şeyler, çok yardımcı olur
prosti

9

seçilen sütundan önce veya sonra yeni metin eklemek istiyorsanız:

  • ctrl + v tuşlarına basın
  • sütun seç
  • shift + i tuşlarına basın
  • metnini yaz
  • esc tuşuna basın
  • "jj" tuşuna basın

2
Tank, jjaşağıdaki tüm satırlarda değişiklikleri yaymak için kaçırdığım son bit oldu!
kilogic

jjbir katil!
Anh Tran
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.