vim

2012-06-17 20 views
19

ifadesinde regex gruplarını kullanarak nasıl bulunur Bulma, satır içi engelleme engellemelerini bir satır içi olmayan bir şekilde yüklemek için w/a div ile değiştiriyorum. görünmek -Fark Şimdiye kadar (burada vim newb) çalıştığım şey yerinevim

<div data-gist=1234><a href='http://gist.github.com/1234'>gistfile1.m</a></div> 

aşağıdaki ile değiştirmek gerek

<script src='https://gist.github.com/1234.js?file=gistfile1.sh'></script> 

şu var bütün eski makaleleri değiştirmek için

:%s/<script src='https:\/\/gist.github.com\/(d+).js?file=gistfile1.sh'><\/script>/<div data-gist={1}><a href='http://gist.github.com/{1}'>gistfile1.m</a></div>//g 

cevap

47

çalışmaya ben bu çalışmayı got it:

:%s!<script src='https://gist.github.com/\(\d\+\).js?file=gistfile1.sh'></script>!<div data-gist=\1><a href='http://gist.github.com/\1'>gistfile1.m</a></div>!g 

Çift şeyler not:

  1. Ben yolunu kaçmak zorunda Sen girişimi (, d, + ve ) kaçmak gerekir
  2. eğik önlemek için ayırıcı tabaka olarak ! yerine / kullandı.
  3. Sonunda fazladan / vardı.
  4. , maç grubunu eklemek {1}
+0

Nice yerine \1 kullanmak için! Unutulmaması gereken tek şey şununla başlamak:% s –

+0

Sabit, teşekkür ederim. – Tim

+0

tek bir hızlı düzenleme -sayısı dosyayı görmezden gelebilirim = (dosyanın adı değişir) ve bu değişiklik sırasında kaybolabilir (kapsam sürünürüm için üzgünüm). ** her biri için çeşitli dosya isimleri vardı. Bu uygulama için aslında çok fazla bir şey ifade etmiyorlar ve –