2011年9月25日日曜日

quickrun.vimでblockdiagのプレビューする

blockdiagを書くとき、blockdiagに対応したエディタみたいなものは特に無いのでvimで書いていたのですが、やっぱりプレビューがとても面倒で、
➜ ~ blockdiag -a hoge.diag && open hoge.png という感じのコマンドを毎回実行していました。(MacなのでPreviewが勝手に立ち上がってくれる)

これをVimから一発でできるようにするため、Quickrun.vimの設定を書いて見ました。

let g:quickrun_config['diag'] = {
            \'command': '$HOME/.pythonbrew/pythons/Python-2.7.2/bin/blockdiag',
            \'exec': ['%c -a %s -o %{expand("%:r")}.png', 'open -g  %{expand("%:r")}.png'],
            \'outputter':'message',
            \}
" blockdiag
autocmd BufWinEnter,BufNewFile *.diag set filetype=diag

ちょっと汚いですが、こんな感じになりました。

pythonbrewを使ったPython環境にblockdiagを入れているので、そのままcommandにblockdiagと書くとcommand not foundになってしまったので直接パスを指定しています。
openコマンド(-gでバックグラウンドでプロセスが起動)を使っているので、Macでしか動かないと思います。(openの部分を環境ごとに変えればいいけど)
また、デフォルトだとdiagというタイプは存在してないので、自動的にファイルタイプを設定するようにしておく必要もあります。
outputterはよくわからなかったけど、とりあえずこうしてみた。

以下が書いてる様子。quickrunするたびにpreviewも更新できるので、そこそこ便利になった。