vimで高度(?)な置換をする

他人のHTMLソースを変更する仕事を割り当てられました。
そのソースがあまりきれいでなく、こつこつと修正しています。
たとえばbgcolor=#FFFFFFなどダブルクォーテーションでくくられていないものも多数あり
これを一発で修正できないかと考えてました。

vim正規表現が使える

:%s/置換前文字/置換後文字/g

とすると一気に置換ができることは知っていたのですが、
bgcolor=#FFFFFF(色を指定している部分は様々)をbgcolor="#FFFFFF"に変換するにはどうしたものかと悩みました。

正規表現のキャプチャとやらが使える

perl等の正規表現で()でくくったものは$1,$2などで参照できるみたいです。
http://japan.internet.com/column/developer/20050822/28.html
vimでもできないかなーと調べていたら
\(\)でくくったものは\1,\2などで参照できることが判明
こんな感じでできるみたいです。

:%s/bgcolor=#\(.\{0,6\}\)/bgcolor="#\1"/g

一気に望みの作業ができました。

vimサイコー