2012-03-01 25 views
7

yerine kullanılan dizgede bir grupta işlev, vim içindeki yedek dizeden bir işlevi nasıl çağırılır? böylece grup 1. fonksiyonun argüman ve dönüş değeri olacaktırvim çağrı işlevi

%s/regex/call function(\1)/g:

%s/regex/string/g ve ben argüman olarak grup istiyorum ve fonksiyon dönüş değeri ile değiştirin: Ne zaman i var işlev tüm eşleşmeleri arabellekte değiştirecektir.

Bu mümkün mü?

%s/regex/\= function(submatch(1))/g 

cevap

9

Eğer yedek dizesine \= eklemeniz gerekir bir vimscript ifadesini kullanın. '\ 1' almak için eksik 'submatch' çağrısını ekledim.
+1

Onun iyi değil, sadece '= fonksiyonunu yapıştırır (1)' Yorumlarınız için o – microo8

+0

microo8 @ ShiftPDA: – jcollado

+0

Not Daha fazla ayrıntı için '': h alt-yerine-ifade'' öğesine bakınız. –