.Rファイルのfiletypeを確実にRとして認識させる

Vimは開いているファイルの形式を認識し、filetypeオプションを設定する(:filetype onしてあるとき)。
大抵はファイルの拡張子を見て適当に判断してくれるのだが、拡張子.Rを使う可能性のある言語はRの他にRebol、Rexxというものがあるらしく(この2つはよく知らないけど)、.Rに遭遇した時はファイルの中身を50行ほどチェックしてfiletypeが決定される。
この時、RとRexxの区別はコメントに使われる文字により判別される。
そしてRユーザーには困ったことにもしもコメントが見付からなかったらfiletypeはRexxとして設定されてしまう。
…というようなことを以前(quickrun.vimの導入など(for Windows) - もうカツ丼でいいよな)書いて特に何の解決もできなかった。

マニュアルを読め、マニュアルを読め、マニュアルは我々すべての(ry

マニュアル(http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/filetype.html)をよく読んで書いてある通りにやったら簡単に解決した。

  • ~/.vim/ftdetect以下にmine.vimとか適当な名前でファイル作成(Windowsだと~/vimfiles/ftdetect)
  • ファイル形式を検出する自動実行コマンドを記述
au BufRead,BufNewFile *.R    set ft=r
  • Vimを再起動

これだけでコメントなしの.RファイルでもfiletypeはRになる。なんて簡単な。
デフォルトのファイルタイプ検査の結果を覆すにはこんな感じで~/.vim/ftdetect以下のファイルにコマンドを書いていけばいいらしい。