2012-02-28 17 views
10

Harika sözcükleri parantez içine çevirmek için harika https://github.com/tpope/vim-surround eklentisini kullanıyorum, örneğin sık sık boşlukları olan bir sözcüğü çevrelemek için: viws<space><space>.Vim çevreleyen boşlukları sil

Ne eksik bir kelime etrafında çevreleyen boşluk silme yani bunun tersidir.

Benim için en yaygın kullanım, kod stiline bağlı olarak foo (bar) vs foo (bar) gibi işlev argümanlarıdır.

Bunu yapmak için iyi bir yöntem bilen var mı?

+0

'ds ' çalışır mı? README, "ds" yi bir örnekteki "" ayırıcılarını kaldırmak için bir mekanizma olarak sağlar. – sarnold

+0

Maalesef değil. İyi bir gözlem olsa da. –

+1

'viws 'komutunu, ok tuşlarını ve geri almayı kullanmanın da dahil olduğu tüm alternatiflerden daha basit bir çözüm bulmanızı buldum. – puk

cevap

11

Not: Bu çözüm, soruda başvurulan surround eklentiyi gerektirir.

cs() 

Bu foo(bar) için foo(bar) değiştirir, ancak sorununuza genel bir çözüm değildir: Aşağıdaki yapabileceğini özel durum için

. Ben sadece bunun için bir eşleme tanımlamak ne zaman

+1

zarif .. garip ama zarif :) –

+0

bu ne yapmak gerekiyor? Benim için hiçbir şey yapmıyor – puk

+1

OP'de not edilen surround eklentiye sahip değilseniz, bekleneni yapmayacaktır.Surround ile, "csXY", "çevreleyen karakterleri Y ile çevreleyen X karakterlerini değiştirir", "(" bir dolgu boşluğuna sahip çevreleyen parantezler "olarak tanımlanır) ve") "bir dolgu olmadan çevreleyen parantezler olarak tanımlanır. boşluk". –

3

Belki de normal modda BXElx numaralı telefondan.

+0

veya 'BXf x' – puk

4

Sık sık üretken, çok vim eklentileri arayışı içinde sonraya bırakın.

nnoremap <leader>dd F<space>xf<space>x 

DÜZENLEME fazla bilgi kullanıcı tanımlı eşleştirmeleri için

  • <leader> ortak anahtarı (, iyi biridir)

  • dd kombinasyonu (başka bir anımsatıcı bir yeterlidir) kullanımı

  • .210 arama geriye bir boşluk, sonra bir boşluk o

  • f<space>x arama ileriye kaldırmak, o zaman

    Aslında
+0

haha ​​... evet ... :) –

1

, benim için mükemmel bir çözüm @puk tarafından sağlanan eşleme olduğunu kaldırmak, ancak kullanarak Anahtarlar @sarnold ilk etapta bekleniyor (bunu uygularsa surround eklentiden ne beklenebilir).

budur:

nnoremap ds<space> F<space>xf<space>x