vimで特定のファイルタイプだけタブインデントにする方法
April 20, 2014 - vim
rubyやpythonなど通常のプログラムを書く場合は、基本的にソフトタブ(2spaces)でインデントされるようにvimを設定しています。
set noexpandtab
set tabstop=2
set shiftwidth=2
けれど、Goの場合はインデントはハードタブが通例。
なので拡張子が”.go”の場合だけハードタブでインデントするための設定を.vimrcに書いておきます。
if expand("%:t") =~ ".*\.go"
set noexpandtab
set tabstop=4
set shiftwidth=4
endif
%:t
はディレクトリ含まないファイル名。
autocmd使うほうが良いかも。
au BufNewFile,BufRead *.go set noexpandtab tabstop=4 shiftwidth=4
ちなみに、set expandtab
してる状態でタブを入力する場合はCtrl-v + <tab>
でハードタブが入力できます。