できればhtmlもcoffee形式で書きたいと思っていたところで、coffeekupというのがあるのを知りました。
そこで、今回は、vim + quickrun + (coffee & coffeekup)を使って、
jsとhtmlを楽に書く方法についてのまとめです。
はまったところは、
- 私の環境(ubuntu 11.10)だけなのか、coffeekupがまともに動かなかったこと
- coffeekupのfiletypeをcoffeeにしないといけないので、coffeeとcoffeekupを同時にquickrunで使えなかった(解決)
まずは、インストールから
$ npm install coffee-script -g
$ npm install coffeekup -g
私の環境では、node_modules/coffeekup/lib/cli.jsに書かれている
coffeeのライブラリへのpathが異なっていて、まともにcoffeekupが動きませんでした。
なので、以下の通り修正しました。
変更前:OptionParser = require('coffee-script/lib/optparse').OptionParser;
変更後:OptionParser = require('coffee-script/lib/coffee-script/optparse').OptionParser;
これで、coffeekupが正常に動くようになりました。
次にvimrcの設定
coffeekup(html)はcoffeeという拡張子でないと正常に動作しないようなんですが、
そうすると、coffee(js)とかぶってしまいます。
なので、coffeekupのファイルの拡張子をなんでもいいので、変えます。
ここでは、kupとう拡張子にしてます。
======================================================
" ファイル保存時の設定
" 保存時に.jsで結果を保存する
autocmd BufWritePost *.coffee silent CoffeeMake! -cb | cwindow | redraw!
" ここで、kupという拡張子をkupというfiletypeに設定する
autocmd BufNewFile,BufRead *.kup set filetype=kup
" 保存時にhtmlで結果を保存する
autocmd BufWritePost *.kup silent !coffeekup -f <afile>
" quickrunの設定
let g:quickrun_config = {}
" coffeeというfiletypeはcoffeeコマンドを実行する
let g:quickrun_config['coffee'] = {'command' : 'coffee', 'exec' : ['%c -cbp %s']}
" kupというfiletypeをcoffeeというfiletypeに設定しなおして、coffeekupコマンドを実行
let g:quickrun_config['kup'] = {'type' : 'coffee', 'command' : 'coffeekup', 'exec' : ['%c -pf %s']}
======================================================
これで、coffeeとcoffeekupが同時にquickrunで使えるようになります。
便利です!!
coffee,coffeekupの書き方については、
それぞれ本家にサンプルがたくさんあるので、そちらで確認してみてください。
0 件のコメント:
コメントを投稿