vi “sonraki X karakterine kadar” silmek için kısayol


194

Vi'nin karakterleri, kelimeleri ve çeşitli seçenekleri içeren satırları silmek için kısayol tuşlarına sahip olduğunu biliyorum.

Ancak bunu bulamadım:

  • imleçten bir sonraki belirtilen karaktere sil

Örneğin du", editörün "bir sonraki "karakter bulunana kadar sil" yazmasını bekleyebilirim

Bildiğim en yakın olan d9wyerde 9silmek kelimelerin sayısıdır.

Bunun mümkün olup olmadığını bilen var mı?


Vi ve Vim ile ilgileniyorsanız, şu anda kendi SE siteleri var: Vi ve Vim
tatlı

Yanıtlar:


303

Kullanmak dtc, c herhangi bir karakter, örneğin, sizin için istediğinizdt"

Bu silinebilir, ancak c dahil değildir .

Olsaydı:

delete until exclamation point!

İmleç ilk boşluktaydı ve sen yazdın dt!, anlarsın:

delete!

Ayrıca dfc.

Bu, silme ve c'yi de içerecektir .

df!Yukarıdaki aynı örneği kullanarak size verecektir:

delete

Sadece herhangi bir "hareket" hakkında kullanılabilir d, c, yve benzeri komutları.


7
Muhtemelen hatıra "t" ye kadar t? Güzel cevap
overthink

15
Ayrıca, hareket komutlarının büyük harfli versiyonuyla bir karakterin önceki örneğine silebilirsiniz. Belki virgüller için daha yararlıdır - dT,ve dF,.
joelostblom

3
Bu, birden fazla satır üzerinde çalışmıyor.
Saat

3
Bu, bir dizi hat üzerinde yapılabilir mi?
Ray,

2
Bir dizi çizgide benzer bir şey yapmak için, normal bir arama (zpletan'ın cevabında olduğu gibi) yapılabilir: d/wordaranır word. Enter tuşuna basılarak takip edilmelidir (aramayı kapatmak için).
Eric O Lebigot

59
  • 'X' karakterine ilerletmek için dtX

  • 'X' karakteri ile ileriye doğru silmek için dfX

  • 'X' karakterine kadar geriye doğru silmek için dTX

  • 'X' karakteri ile geriye doğru silmek için dFX


30

Dt # girişi (a: komutu, G benzeri bir hareket gibi kullanın)

imleçten # işaretine kadar silinecektir. Herhangi bir karakterin yerine # kullanabilirsiniz.


2
Bu doğru cevap! df # de siler.
Viet

Bunu arıyordum, bu harika
Nadeem Khedr

18

@ Arcege soruyu zaten cevaplamış gibi görünüyor, ancak d/lkaraktere kadar silmek için yaptım l; diğer karakterler de işe yarayacaktı.


3
Bu, newlines'taki şeyler için işe yarar.
jasonszhao

Not: Bunu Enter ile takip etmelisiniz.
Eric O Lebigot

6

waşağıdaki kelimeye gider. laşağıdaki karaktere geçer.

Bu yüzden d9lsonraki 9 karakteri silmek.


2
Kapat, lVim'in sağ ok tuşu, yani aslında doğruları siliyorsun. Tersine, d9hkalan 9 karakteri silecekti.
Walf
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.