Vim

[メモ]Vimのfiletypeプラグインを新規追加する際の手順

More than 3 years have passed since last update.

vimで開くファイルの種類(拡張子)に応じてインデントなどの設定を入れかえたいという場合は、filetypeプラグインを作成すると良いようだ。

(ref.) http://vim-jp.org/vimdoc-ja/filetype.html#filetype-plugins

(ref.) http://whileimautomaton.net/2008/09/07213145

Gradleのファイル(.gradle)に対するfiletypeプラグインはグローバルには提供されていない(特に設定を変更していなければ、$VIMRUNTIME/ftpluginディレクトリを見れば確認できる)ようなので、ローカルにfiletypeプラグインを追加した。

$ cat ~/.vim/ftplugin/gradle.vim

" この設定ではグローバルにfiletypeプラグインが追加されても読み込まれない。追加されたら、~/.vim/after/ftplugin下に移動する
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin=1

setlocal tabstop=4
setlocal shiftwidth=4

filetypeプラグインはその名の通り、filetypeが指定されたときに読み込まれる。

(FileTypeの指定)

:set filetype=gradle

...と思っていたがそれも設定次第のようだ。基本的にはfiletype plugin indent onで大丈夫...なのか?

(ref.) http://d.hatena.ne.jp/wiredool/20120618/1340019962

特定の拡張子のファイル(上記例だと.gradle)を開く際には、自動でfiletypeを設定するように以下の設定を.vimrcに記述しておく。

filetype plugin indent on

au BufRead,BufNewFile *.gradle set filetype=gradle

...と思っていたが、autocmdの設定は~/.vim/ftdetect/(filetype).vimや、~/.vim/filetype.vimに置くようだ。

(ref.) http://vim-jp.org/vimdoc-ja/filetype.html#new-filetype