Vim環境構築とjst.vim (for TrimPath JavaScript Templates)
Posted by yatsu Fri, 01 Jun 2007 08:54:00 GMT
最近わけあってWindowsを使わなければいけない状況となりまして、テキストメイ党の私はエディタの選択に困り果ててしまったわけです。 E-TextEditorというTextMateクローンがあるのですが、フォントを変えられないなど、イマイチ。 Emacsはよいのだけど、elispでごりごり設定するのは、この歳になると正直しんどい。 設定が簡単で満足できる環境が作れるものを探した結果、Vimに落ち着きました。 エディタがVimのくせに、エディタ以外はXKeymacsでEmacsキーバインドにしているという変態具合ですが、それはよし。
以下の設定をしました(主にJavaScript関連)。
jst.vim
さて、エディタは決まりましたが、TrimPath JavaScript Templates(JST)を使うので、これ用のシンタックス・ハイライト機能がほしいです。
ということで、作りました。→ jst.vim
Vimのsyntaxディレクトリに放り込んで、~/.vimrc に以下の設定をします。
augroup filetypedetect
au! BufRead,BufNewFile *.jst setfiletype jst
augroup END
これで拡張子 .jst のファイルに対してJSTのシンタックスが有効になります。 拡張子 .html のファイルで使う場合は、同様の設定を .html に対しても行います。
eruby.vimを書き換えてでっちあげたもので、シンタックス・ファイルの書き方もちゃんとわかっていないですが、マークアップ({}や${})の中のJavaScriptシンタックスも効いているようなので、とりあえず使えそう。

surround.vim拡張
surround.vim用の拡張を ~/.vimrc に書きます。
autocmd FileType jst let g:surround_123 = "{\r}"
autocmd FileType jst let g:surround_36 = "${\r}"
autocmd FileType jst let g:surround_37 = "${% \r %}"
上から、「{」,「$」,「%」キーに対応しています。
例えば「yss{」で現在行を {} で囲んだり、入力モードで「<c-g>s%」で ${% %} を入力したりできます。
ctagsでJavaScript使用
MMOをajaxで作りたい人のブログ: Javascriptの環境整備2。を参考に、~/.ctagsに以下を設定。
--jcode=utf8
--langmap=javascript:.js
--regex-javascript=/^(.*).prototype *= *(.*)/\1/o,object/
--regex-javascript=/^[ \t]*(.*) *: *function/\1/o,object/
これで hoge: function() {} のような関数定義も拾ってくれるっぽい。
javascript.vimの変更
JavaScript用syntaxをちょっと変更 | 東京嫉妬のようにjavascript.vimを書き換えると、JavaScriptのシンタックス・ハイライトが改善できます。
