node.jsのためのvimのプラグイン・設定まとめ(2014年1月)

VimAdventCalendar2013 の51日目の記事です。 昨日は@lisiaさんの私とvimでした。素敵なお話。(関西の方のようなので、仲良くさせてもらいたい。。)

今日は、筆者がこれからの開発でnode.jsを使うことになりそうなので、開発が捗るvimプラグインや設定を紹介します。

プラグイン

pangloss/vim-javascript

javascriptのsyntaxとindentをよしなに調整してくれる。

jelera/vim-javascript-syntax

syntaxは上記よりもこちらを使っています。なんとなくですが綺麗。

kchmck/vim-coffee-script

上記と似ているが、こちらはcoffescript用 coffeescriptコンパイルもできるみたいだが、それは使っていない(理由は後述) vimのバージョンが7.4以上じゃないと動かないので注意

moll/vim-node

railsの開発に必須なvim-railsのnode.js版 requireしてるファイルをgfで開けたりnode.jsの開発がいろいろ捗る(らしい) パスの解決にpackage.jsonを使うみたいだが、ちょっとまだよくわかっていない。

設定

インデント

上記のプラグインで、インデントを綺麗にしてくれる。 だけど、デフォルトだとタブでインデントされてしまうのでcoffeescriptの仕様に合わせてインデントは半角スペース2つにしておく。(javascriptも) ちなみに、上記のプラグインを読み込んでおくと.jsonのfiletypeもjavascriptになる。

autocmd filetype coffee,javascript setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab

coffeescriptコンパイル

kchmck/vim-coffee-scriptの機能でバッファを保存したらコンパイルということもできるが、毎回コンパイルするのも意味がないので、他の方法を考えた。(参考:compile-coffeescript-snippets) 結論は、coffeescriptコンパイルして、node.jsを起動するエイリアスを作った。

alias node-coffee='coffee --compile --output js coffee && node'

これで、$ node-coffee js/app.jsとすれば、./coffee以下のcoffeescriptを全てコンパイルして./js書き出す。あとは起動したいjsを指定すればOK。

今日はここまで。 moll/vim-nodeのパス解決に必要なpackage.jsonの書き方はこれから調べます。まとまったら、また書きます。