Railsでよく使うDSLのfiletypeを設定する

GemfileとかDSLで書かれた設定ファイルがrubyのファイルとして認識されずシンタックスハイライトやインデントが効いてないときがある。そういうときの設定。

autocmd BufNewFile,BufRead Gemfile setlocal filetype=ruby
  • Gemfileのあとにfiletypeを設定したいファイル名やパターンを追加すればおk。
  • autocmdは「あるイベント」に対して「あるパターンのファイル」に「あるコマンド」を実行させる設定
  • BufNewFileは新しいファイルを編集するイベント
  • BufReadはファイルを読み込んで新しいバッファを開くイベント
  • filetypeの変更はグローバルには影響しないらしいけど、autocmdで変更する値は無難にsetlocalにしておく