vi / vim, sublimetext'in “Seçimi kapsama genişlet” seçeneğine alternatif


13

Yüce metin, " Seçimi kapsama genişlet " SHIFT + CMD + SPACE adlı, kapsamdaki her şeyi seçen harika bir özelliğe sahiptir .

Kapsamdaki her şeyi seçer, mükemmel çalışır () veya [] veya {} tekrarlandığında kapsamı üst öğesine genişletir.

Aynı şeyi vim ile başarmak istiyorum.

Yanıtlar:


22

Bunu vimgörsel mod ( :help visual-mode) ve metin nesneleri ( :help text-objects) ile yapabilirsiniz.

Kıvrımlı destekli bir blok seçmek için şunları yapın: v+ a+ {, çevreleyen blok tekrarlama a+ ' yı seçmek için {. Diş tellerinin içeriğini yalnızca iyerine kullanarak seçmeyi seçebileceğinizi unutmayın a.

Bu komutlar, vim'deki diğerleri gibi, bir eylemin ardından bir metin nesnesi tarafından oluşturulur; burada metin nesnesinden, eylemden etkilenen daha fazla nesne içermek için bir sayı eklenebilir. Ayrıca değiştirerek nesneyi silebilir Yani vtarafından dveya düzeltmek cvs.

Orada başka bir çok şey için metin nesneleri yanında olan (), {}ve [], örneğin:

  • a+ wbir kelime anlamına gelir.
  • a+ sbir cümle anlamına gelir.
  • a+ pparagraf anlamına gelir.
  • a+ <bir <>blok anlamına gelir .
  • a+ 'tek tırnaklı bir dize anlamına gelir.
  • a+ "çift ​​tırnaklı bir dize anlamına gelir.

Ayrıca, çevredeki karakterleri ve hatta etiketleri eklemenizi / değiştirmenizi / silmenizi sağlayan surround eklentisiyle de ilgilenebilirsiniz .


Evet, vim'den bahsediyordum. Teşekkür ederim. Bunu mesela. genişleyen tutmanın bir yolu vardır [[[event touchesForView: button] anyObject]imleç yakın ise touchesForVieweylem v+ a+ [seçer [event touchesForView: button]ben bir düzey daha genişletmek istiyoruz? ie,[[[event touchesForView: button] anyObject]
palaniraja

3
@palaniraja: evet var, metin nesnesini bir sayıya başlatabilirsiniz, örneğin: v+ 2+ a+ [.
Thor

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.