ソースコードをシンタックスハイライトしてまとめてHTML化

Wordにソースコードを貼り付ける必要に迫られたので、色付きにすべくGVIMを使ってHTMLに変換してコピペすることにした。のメモ。
最初SyntaxHighlighterを使ってやろうとしたけど、tableタグ使ってたからうまくコピペできなかった。
カレントディレクトリ以下から*.java *.html *.js *.cssファイルを抽出後、/bin/ディレクトリ以下とjqueryファイルを除外して、タブ幅2、行番号表示、色の設定delek、エンコーディングutf-8でHTMLに変換するコマンドは次のとおり。.vimrcは設定してない。ファイル数だけgvimが起動するので要注意。

$ find . -name '*.java' -o -name '*.html' -o -name '*.js' -o -name '*.css' | grep -v /bin/ | grep -v jquery | while read -r file; do; gvim -g -n -c ':set tabstop=2' -c ':set number' -c ':colorscheme delek' -c ':so /usr/share/vim/vim72/syntax/2html.vim' -c ':set fenc=utf-8' -c ':wqa' $file; done

生成されたHTMLは元ファイルと同じ場所にできるので取り回しが悪い。そこでパス区切り文字の'/'を'.'に置換して~/html/にまとめることにした。Mercurialリポジトリ管理してるので、作成されたファイルの抽出は丸投げした。

$ mkdir ~/html
$ hg st | awk '{if ($1=="?") print $2}' | while read -r file; do; mv $file ~/html/`echo $file | sed 's%/%.%g'`; done;