VIM: Geçerli konumdan bir boşluğa kadar silme


172

Genellikle gelişirken ben böyle bir satırın ortasında kod silmek istediğiniz bir iç içe nesne ile karşı karşıya:

htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");

Silmek istediğim bölüm:

this.cbAllSyncs.SelectedItem.ToString()

Kelime ve nokta sayısını sayabilirim ve 7dwşu anki imleç konumumdan "bu" silmek için girebilirim . Ancak, yapmak istediğim hiç saymak ve bir komutla boşluğa silmek zorunda değilsiniz. Mümkün mü?

Yanıtlar:


343

Deneyin dtspace. Genel dtxolarak geçerli konumdan hemen öncesine kadar silinir x. Sadece tximleci xgeçerli satırdaki karakterin hemen öncesine götürür .

Boşluğa kadar ve alanı dahil etmek için tuşunu kullanın dfspace.


2
Harika çalışıyor! Ayrıca, o nesne içindeki diğer belirli noktalara ulaşmak için biraz daha esneklik sağlıyor. Teşekkürler!
Blake Blackwell

27
df<space>bir sonraki boşluğu da içeren bir sonraki alanı siler.
glenn jackman

5
eşit derecede yararlı, dfT <boşluk> önceki boşluğu siler.
hgmnz

3
Ayrıca t, bu kadar karaktere kadar silmek için önce bir sayı ekleyebilirsiniz . örneğin d2t<space>en fazla iki boşluk siler.
Waseem

7
Hep anımsatıcı kullanma tolarak budan stackoverflow.com/questions/7409134/...
ACW

71

Sen kullanabilirsiniz dWya dEkadar @glenn sen yeri tek başına silmek istemiyorsanız önerdi.

Bir KELİME (büyük B) beyaz bir boşluk ile ayrılmış, boş olmayan bir karakter dizisi içerir.

Kelime hareketlerine bir göz atın .


1
İki cevaba oy verebilseydim, bu sorduğum soruyu çözdüğünden. Bağlantı için teşekkürler!
Blake Blackwell

5
veya dE- boş olmayan karakterler dizisinin sonuna kadar sil (aşağıdaki boşluğu içermez)
glenn jackman

@BlakeBlackwell İki cevap için oy kullanamayacağınızı kim söylüyor? Ben zaten bu soru üzerinde yaptım. Bu yararlı bir bilgidir.
javadba

20

olası bir çözüm silme işlemini bir arama ile kullanmaktır.

bu yüzden şunu yazın d/<space>ve vim bir alana varana kadar silinir.


2
Bu daha geneldir, dWçünkü imleçten 2d/+, bu durumda Dize birleşimlerini de silecek herhangi bir karaktere silmek için de kullanabilirsiniz.
Dave Jarvis

1
2dW yapabilirsiniz ve bu da aynı şekilde çalışır. Aslında sekmeler ve diğer boşluklarla da çalışacağından daha iyi bir çözüm olduğunu düşünüyorum. Ayrıca, tarihine kadar silmek istediğiniz arka boşluğu da kaldırır.
barkmadley

15

WORD içindeki herhangi bir yerden ve tek bir komutla silmek istiyorsanız , daW

( dawbir kelimeyle sınırlamak istiyorsanız elbette kullanabilirsiniz )

Çok fazla kullanıyorum çünkü kelimenin başlangıcına bir hareket yedekliyor (sizin durumunuzda)


daw ve daW benim için aynı şekilde davranıyor - imlecim hangi harfte olursa olsun kelimeyi siliyor. Emin değilim neden.
Will

daw kelimeden sonra beyaz boşlukları silmezken, daw ise
Louis

4
  • geçerli konum için belirli bir karakter örneğini sil "

    dt"
  • kelimeyi konum imlecinin açık olduğu yerden sonuna kadar sil

    dw
  • imlecin kelime üzerinde bulunduğu konumdan bağımsız olarak imlecin üzerinde olduğu tüm kelimeyi silerseniz bu, hemen eklemenizi sağlamak için sizi ekleme moduna sokar.

    diw

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.