VIm'da bir sonraki alt çizgiye kadar nasıl değişebilirim?


54

Bu metni vimde tutarsam ve imleci ilk karakterde ise:

www.foo.com

Yapabileceğimi biliyorum:

  • cw ilk döneme kadar değiştirmek için, çünkü word (küçük harf w) herhangi bir noktalama işaretiyle biter VEYA boşluk
  • cW tüm adresi değiştirmek için, çünkü Word (büyük harf w) yalnızca boşlukta bitiyor

Şimdi, ya ben buna sahipsem:

stupid_method_name

ve bunu değiştirmek ister misiniz?

awesome_method_name

Her ikisi de cw ve cW her şeyi değiştir, ancak alt çizgiden önceki parçayı değiştirmek istiyorum

Geri dönüş tekniğim c/_, 'bir aramada bir sonraki alt çizgiyi vuruncaya kadar değiştir' anlamına gelir, ancak benim için bu, aynı zamanda tüm alt çizgilerin biraz sinir bozucu olan arama terimleri olarak vurgulanmasına neden olur.

Gibi bir belirteç var mı w veya W Bu alt çizgi içermez?


Sorun ne :nohl?
Ignacio Vazquez-Abrams

ben yap arama terimlerinin çoğu zaman vurgulanmasını istemek; Sadece aramayı hareket olarak kullandığımda olmaz. (Ben de sadece bu soruyu sordum: superuser.com/questions/244042/... )
Nathan Long

Yanıtlar:


76

Yapabilirsin cf_. f aranan karakteri vurgulamaz.

Ayrıca yapabilirsiniz ct_ _'i dahil etmek istemiyorsanız.


15
F, t, F ve T'yi karıştırıyorsunuz. f karaktere ilerler; F karaktere geri gider; t karakterden hemen önce ileri gider; ve T Hedef karakterin sağındaki karaktere geri gider. Yani ikinci örneğiniz olmalıydı ct_.
garyjohn

2
Şimdi cevabım düzeltildi. Üzgünüm ve teşekkür ederim.
doubleface

4
ct_ tam olarak istediğim şeydi. Bu şimdi düzenli iş akışımın bir parçası oldu. Teşekkürler!
Nathan Long

1
Bu aynı zamanda inanılmaz derecede genişletilebilir ve dolayısıyla güçlüdür. Sanırım f veya t'den sonra herhangi bir karakter koyabilirsin ve bir sonraki (veya büyük harf için) oluşumuna gider. Teşekkürler.
Dom

1
Vim asla başarısız olmaz, yalnızca birisinin ne yapabileceğini anlaması!
Benjamin R

59

Bunu .vimrc'nize koyun:

set iskeyword-=_

Ardından _, bir kelime sınırı (bir WORD sınırı olmasa da) olarak değerlendirilir ve cw, sadece "harika" kelimesini değiştirmek için ve cW her şeyi değiştirmek için kullanılabilir.

Görmek:

:help iskeyword

ve

:help word

daha fazla bilgi için.


4
Kendi kelime sınırlarımı tanımlayabildiğimi bilmek harika, ancak bazı düşüncelerden sonra en iyi çözümün sanırım ct_ doubleface aşağıda belirtildiği gibi, özlü ve varsayılan vim davranışı olduğundan.
Nathan Long

Bu benim kişisel favorim
Jay

2
Bunu sevdim, fakat php içindeki sözdizimi renk kodlamamı bozuyor.
Aaron Surrain

1

camelcasemotion Alt çizgi veya camelcase notasyonu kullanırken kelimeler arasında gezinmenizi sağlayan oldukça kullanışlı bir vim eklentisidir. Bu eklentiyi kullanarak, geleneksel vim hareket komutlarının birçoğunun önüne virgül koyabilirsiniz; bu, alt çizgi veya deve gösterimindeki sözcükleri tam sözcük olarak ele almanıza izin verir.

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.