LoginSignup
15
10

More than 5 years have passed since last update.

vimで言語ごとにインデントの大きさを変えてみた

Posted at

最近、railsを触る機会が増えたのだが、rubyはインデントがスペース2つなので、毎回スペース手打ちでインデントを作っていたら、発狂しそうになってしまった。

調べてみると.vimrcでファイルの種類ごとにインデントを設定できるらしいので、それをやってみた。

設定

まずは.vimrcに普段使っているインデントの設定を記載する。
この値がデフォルトの値となる。

~/.vimrc

~/.vimrc
" default
set tabstop=4
set shiftwidth=4

" filetypeによって設定を変える
filetype plugin indent on

~/.vim/filetype.vim

その後、このファイルタイプと設定ファイルの紐付けを行うために、.vim/にfiletype.vimというファイルを作成する。

~/.vim/filetype.vim
augroup filetypedetect
    " 読み込み時、新規ファイル作成時に、.rb, .erbで終わるファイルだったら、ruby用の設定ファイルを読み込む
    au BufRead, BufNewFile *.rb *.erb setfiletype ruby
augroup END

~/.vim/indent

今回、indentというpluginを使用するので、.vim/にindentディレクトリを作成する。

mkdir.command
mkdir ~/.vim/indent

ディレクトリ作成後、filetype.vimで記載した一番右の値(上記の場合、ruby)で、.vimファイルを作成する。
そうすることで、その設定が読み込まれるようになる。

~/.vim/indent/ruby.vim
" rails用
set expandtab
set tabstop=2
set shiftwidth=2

所感

案外サクッとファイルごとにvimの設定が出来ることがわかったので、vim厨の自分にとってはとても大きな収穫でした!

これで毎回.vimrcを変える地獄から抜け出せる!

15
10
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10