最近、railsを触る機会が増えたのだが、rubyはインデントがスペース2つなので、毎回スペース手打ちでインデントを作っていたら、発狂しそうになってしまった。
調べてみると.vimrcでファイルの種類ごとにインデントを設定できるらしいので、それをやってみた。
設定
まずは.vimrcに普段使っているインデントの設定を記載する。
この値がデフォルトの値となる。
~/.vimrc
~/.vimrc
" defaultsettabstop=4setshiftwidth=4" filetypeによって設定を変えるfiletype plugin indent on
~/.vim/filetype.vim
その後、このファイルタイプと設定ファイルの紐付けを行うために、.vim/にfiletype.vimというファイルを作成する。
~/.vim/filetype.vim
augroup filetypedetect
" 読み込み時、新規ファイル作成時に、.rb, .erbで終わるファイルだったら、ruby用の設定ファイルを読み込むauBufRead,BufNewFile *.rb *.erb setfiletyperuby
augroup END
~/.vim/indent
今回、indentというpluginを使用するので、.vim/にindentディレクトリを作成する。
mkdir.command
mkdir ~/.vim/indent
ディレクトリ作成後、filetype.vimで記載した一番右の値(上記の場合、ruby)で、.vimファイルを作成する。
そうすることで、その設定が読み込まれるようになる。
~/.vim/indent/ruby.vim
" rails用setexpandtabsettabstop=2setshiftwidth=2
所感
案外サクッとファイルごとにvimの設定が出来ることがわかったので、vim厨の自分にとってはとても大きな収穫でした!
これで毎回.vimrcを変える地獄から抜け出せる!