« P903iX と Twitter と Flickr | トップページ | リボルテック トロ&クロ発売 »

2007年6月12日 (火)

vim でソースコードの html 化

P1040942.JPG

電脳空間カウボーイズのシン石丸さんが最近、氏のブログで ActionScript のいろんなテクニックをソースと共に公開してくれていて、なかなか面白くてためになるので楽しみにしています。シン石丸さん、ありがとうございます!

ただ、ちょっと残念な事がありまして、何かというと掲載されているソースコードがちょち見づらいカンジなんですね。

そこで、ひょっとしたらご存じかもしれないのですが、OSX に最初からインストールされている OSX の vim を使って簡単にソースコードの html 化が出来るので紹介したいとおも言います。

まずは、百聞は一見にしかずと言うことで、html 化したソースコードの紹介を。(← クリックすると表示します)どうでしょうか?かなり見やすくなっていると思うのです。

これは、シン石丸さんの6月10日のブログに掲載されているソースコードを私が gvim でhtml 化した物で、基本的には、OSX の Terminal で下記のようにタイプするだけでソースコードと同じフォルダに、html ファイルが作成されます。(ソースコードは、flv.as という名前だとすると flv.as.html となる)

vim -n -c ':colorscheme desert' -c ':set number ' -c ':so $VIMRUNTIME/syntax/2html.vim' -c ':wqa' flv.as

以上です。(最後の flv.as はもちろん、ソースファイル名によって変わります)

ただし、ザンネンながらvim には ActionScript の syntax ファイルが標準でインストールされていませんので、普通に実行しても上記のように色分けされない html ファイルが出来てしまいます。as ファイルの色分けを有効にするためには、下記の手順で syntax ファイルを追加してあげる必要があります。

  1. ココから、ActionScript のsyntax ファイルをダウンロード
  2. ダウンロードしたファイルは、~/.vim/syntax/actionscript.vim として保存
  3. さらに ~/.vim/filetype.vim を作成し、下記を追加
    au BufNewFile,BufRead *.as  setf actionscript

これで、OK!

ちなみに、先ほど紹介したファイルは、標準の vim ではなく、gvim という単独で動作する(Terminal でなく)アプリで作成しています。これはこうしないと、微妙なカラー設定が有効にならないからなのですが、それ以外にもイロイロと GUI で変更できたり、html 化もメニューから選べたりと、vi になれていない人にも便利だとおもいます。gvimは Windows などでも簡単にインストールできるので、Windows ユーザの人でも同様の方法でソースコードの html化を行うことが出来ますね。(その際には、上記のコマンドの ' を " に置き換えてください)

実はこの機能、ウチの会社ではとある作業の為、毎日使用していたりします。

おためしあれー

|

« P903iX と Twitter と Flickr | トップページ | リボルテック トロ&クロ発売 »

トラックバック


この記事へのトラックバック一覧です: vim でソースコードの html 化:

» ブログで人が教えてくれるってすごいことだ [シン石丸の電脳芸事ニッキ]
プレイステーション1時代から現代まで大活躍中の、組み込みゲーム機業界の巨匠トロチ [続きを読む]

受信: 2007年6月13日 (水) 12時35分

» vimでソースコードのHTML化をやってみる [シン石丸の電脳芸事ニッキ]
トロチチさんが解説してくれた、vimでのhtml化をやってみました。 アタシは恥 [続きを読む]

受信: 2007年6月13日 (水) 23時10分

» vim でソースコードの html 化 [Isilの雑記帳]
Take it easy! vim でソースコードの html 化にて、vimを使用してソースをhtml化する方法が紹介されていました。 [続きを読む]

受信: 2007年6月16日 (土) 12時13分

» gvimをコマントラインから実行しcolorschemeを反映したhtmlを作る [シン石丸の電脳芸事ニッキ]
この前、トロチチさんに教えてもらったソースコードのhtml化ですが、やってみて [続きを読む]

受信: 2007年6月21日 (木) 04時30分

» [今日のスクリプト] マージソート [たろうbぉg]
B4 Wiki - 問題集より、マージソート。 1 #!/usr/bin/python 2 #coding:utf-8 3 4 def merge2(list1, list2): 5 larger = list1 6 smaller = list2 7 if len(list1) len(list2): 8 [続きを読む]

受信: 2007年7月 1日 (日) 00時16分

« P903iX と Twitter と Flickr | トップページ | リボルテック トロ&クロ発売 »