自動ファイルタイプ検出
vimでは起動時(厳密にはバッファに展開時)に自動でファイルの拡張子に対応したファイルタイプを選んでくれる機能がついている これを有効化するには、.vimrcに
filetype on
と記述すればよい
だが、一般的なファイルタイプについては自動で設定が反映されるものの、少し外れると設定が無かったりする
そんなときは自分で、
:set filetype=hoge
や、その短縮形である
setf hoge
などとして都度読み込む必要がある
これは非常にめんどくさい
解決策
vimは起動時にfiletype.vimというファイルを読み込むことでこの自動検出を行っている
僕のMacでは/usr/share/vim/vim73/filetype.vimに存在しているが、この中を見ると以下の行がある
runtime! ftdetect/*.vim
この行はftdetect以下の*.vimを全部読み込むぜ!と言っているらしい!すばらしい
というわけで~/.vim/ftdetectというディレクトリを作って、その中に以下のようなものを入れておくと自動で読み込んでくれる
ftdetect/ejs.vim
au BufNewFile,BufRead *.ejs setf html ".ejsを開くときはファイルタイプをhtmlにする
これでejsを開くときはhtmlとして認識してくれる
僕は他にもcapistranoの.capをrubyにしたりしている
あまり使う機会はないかもしれないが、覚えておくと便利かも