"Öncü boşluk içermeyen" gibi bir hareket var mı?


10

Ben kullanıyorum a"vim oldukça sık hareketi; örneğin ca", kodlanmış bir argümanı değişken adıyla değiştirmek için bir kod parçasını yeniden düzenlerken kullanma . Bu yaklaşımdaki sorun, a" sondaki boşluk yoksa önde gelen boşluk içermesidir :

Herhangi bir iz bırakmayan beyaz boşluk, hiçbiri yoksa, önde gelen beyaz boşluk dahil edilir.

Böylece, böyle bir işlev çağrısı düzenlediğinizde:

aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3)    #refactored

Ben yeniden ekleme alanı önce elle zorunda replacedArgolduğu ca"o siler.

Bu beyaz boşluğu içermeyen benzer bir hareket var mı, yoksa bunun yerine kullanabileceğim başka bir şey var ca"mı?

Notlar:

  • cf"dize herhangi bir kaçan tırnak içermiyor sürece istediğim şeyi yapar, ancak dizenin başında imleç olmasını gerektirir. Dize içinde herhangi bir yerden kullanabileceğim bir şey istiyorum ve yazmak ?"<Enter>cf"oldukça garip.
  • Tek <Space>tuş vuruşuyla ilgili daha az ve daha önce başlangıçta alanı dahil etmeyi unuttuğum, bana en az dört ekstra tuş vuruşuna ( bi<Space><Esc>) mal olan ve odaklanmamı kıran daha fazla. Bu nedenle, değiştirme komutunun uzunluğu, yalnızca verilen karakterlerin arasındaki metni sildikten sonra ekleme moduna girdiği sürece önemli değildir.

1
?"<Enter>Bir satırda geriye doğru fiyat teklifi aramak için kullanmak yerine kullanabilirsiniz F". File aynıdır fancak sola doğru arama yapar. Aşağıdaki cevaplar sorunuz için daha iyi görünüyor, ancak Fkendi başına yararlı bir komut.
Lithis

Yanıtlar:



10

Wellle en de vardır targets.vim eklentisi. Alakalı kısmı alıntılamak için (" Alıntı " bölümünde ):

a' a" a

  • Bir teklif seçin.

  • Bu, aramayı desteklemek için Vim'in varsayılan metin nesnesini geçersiz kılar.

  • Vim'in alıntı metin nesnelerinden farklı olarak, bu çevreleyen boşluk içermez .


Bu eklenti geçersiz kılıyor a"ve A"orijinal davranış için kullanıyor gibi görünüyor ?
Martin Tournoij

... inanıyorum, aynı zamanda "sola" aramaya da izin veriyor
VanLaser

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.