darudaru

だるだるしてるエンジニア

すぐできた!Vimでファイル別でインデント幅を切り替える

Rubyを勉強することになりました。
普段メインで使っているPHPと違い、Rubyはインデントはスペース2つ分とすることが一般的らしい。

ということで、Vimにファイルタイプによってインデント幅を変える設定を追加しました。

vimの設定に追加したこと

  1. .vimrcにfiletype plugin indent onを追加
  2. .vim/indent/ディレクトリを作成
  3. .vim/indent/配下にファイルタイプ.vim(例:ruby.vim)を追加し、ファイルタイプごとの設定を追加する

これだけ。

filetype plugin indent onを深掘り

Vimには、編集しているファイルの形式を検出することができるfiletypeというコマンドが用意されています。 これを利用して、ファイルタイプによってインデント幅を切り替えさせます。

filetype plugin indent on

上記の設定を追加すると、ファイルタイプを自動で検出し、かつファイルタイプ別のプラグインとインデント設定を自動読み込みしてくれるようになります。

もし使いたいファイル形式がVimに検出されない場合は、その形式を追加する設定を別で行う必要があるとのこと。 詳しくは公式ドキュメントに書かれているよ!*1

閑話休題

まずは開発環境構築をせねば!とRubyを開発するにあたり必要なものを色々調べていたところ、Rubyはインデント幅がスペース2つ分が一般的という情報を知りました。
今までPHPをメインに使って開発をしていたため、スペース4つ分とることがインデント幅をとること、ぐらいに思っていたのでちょっと衝撃でした。
他にも調べてみると、JavaScriptもインデントはスペース2つ分としてコーディング規約を定めているものが多いみたいですね。Node.jsで書くときずっとスペース4つで書いてました。知らなかったよう。