Düzenleme: Yeni bilgiler göz önüne alındığında, aşağıda yer değiştirme muhtemelen çalışacaktır:
:%s/<filename>\zs.\{-}\ze<\/filename>/\=substitute(submatch(0), '\/', '\', 'g')/
Açıklama:
%s
:
/<filename>
tüm dosya genelinde ikame: Başlangıç desen ve statik Karşılık gelen metin
\zs
: eşleştirilen metnin başlangıcı
.\{-}
: Herhangi bir karakter, sigara açgözlü
\ze
: eşleşti metin
<\/filename>/
sonu: hedeflenen etiket ve desen
\=
sonu:
substitute(submatch(0), '\/', '\', 'g')/
bir vim ifadesi olarak değiştirilmesini değerlendirmek: Tüm /
yerine Eşleşen metinde \
ile.
Orjinal cevap:
Burada XML tarzı etiketi anlamına varsaymak gidiyorum. Yapmam gereken şey, üzerinde çalışmak istediğiniz alanı görsel olarak seçmektir, daha sonra yalnızca bu seçim üzerinde çalışmak için \%V
regex atomunu kullanın.
vit:s!\%V/!\\!g
Numara yapmalısınız.
:'<,'>s!\%V/!\\!g
@ewok gerçekleştirmek -ilgili sorular? – deviousdodo
@ewok: vim sorularının (bu gibi normal ifadeler) "SSS'de yaygın olarak kullanılan" yazılım araçları "nda açıkça görüldüğü oldukça iyi anlaşılmıştır. – jkerian