2013-04-05 13 views
18

atıyor Bir Twitter tanıtıcısının tüm örneklerini bulmaya çalışıyorum ve çevresinde bir çapa etiket sarın. bana verirMy Vim bir regex ile değiştirir bir `E488: Trailing karakterleri '

:%s/\(@[\w]\)/<a href="http://www.twitter.com/\1">\1<\/a>/gc 

:

{pattern} ve {string} arasındaki ayırıcı karakteri (sizin durumunuzda /) onlardan biri bulunan
E488: Trailing characters 
+4

kullanan tüm '/' 's kaçmak veya farklı kullanmasının gerektiği durumlarda sınırlayıcı (',' akla gelir). – Wrikken

cevap

19

, bir \ ile öncelenmelidir. Bundan kaçınmanın bir yolu, farklı bir ayırıcı karakter kullanmaktır, örn. #:

:%s#@\(\w\+\)#<a href="http://www.twitter.com/\1">\0</a>#gc 

Not: ben senin desen yanlış, bunu yapmak gerektiğini düşünüyorum ne olursa; düzeltmemi gör.

+0

Evet, desenim de yanlıştı. –

+0

İlk cevap için teşekkürler, mükemmel çalıştı. Kalıbı ilk kez enjekte etmek için '/ 1' yi neden kullandığımızı ve ikinci kez enjekte etmek için '/ 0' nu merak ediyorum. –

+3

Oh, bekle. Sanırım anladım. '/ 0 'tüm sözcüğü enjekte edecek ve'/1' sadece yakalanan kısmı enjekte edecektir. –

1

ben bu sorunu vardı ve öğrenene kadar onu giderir olamayacağını O mesela bu gibi kısaltmalar içerdiği başka kopyalanmış parçaları vardı .vimrc dosyası:

abbrev gc !php artisan generate:controller

o kısaltma karışıklık benim arama olur ve genellikle şuna benzer komutlar değiştirin:

:%s/foo/bar/gc

olduğunu genişleterek Bunun dışında, gerçek zamanlı olarak yerinde yapamayacağından, !php artisan generate:controller'a. Eğer olursa olsun karakter hataları sondaki alıyorsanız ben clued yolu ve So

:%s/foo/bar/!php artisan generate:controller

görme (: ve yukarı ok tuşuna basarak) komut geçmişi bakarak oldu ben istiyorum ne

~/.vimrc

içine bakmak ve orada sorun bulmak görmek.

0

:%s/\/apps/log_dir/g

gördüğümüz olarak dize =/uygulamalar ve yerine dize = log_dir yerine/yüzden Ya "\/"

İlgili konular