基本の設定でははインデントはスペース2つ。
けど、プロジェクトAではインデントをハードタブにしたい。
といった時にプロジェクト固有のVimの設定ができると便利。
もちろんできます。
.vimrc
まずは.vimrcにそれを実現する設定を記述
~/.vimrc
augroup vimrc-local
autocmd!
autocmd BufNewFile,BufReadPost * call s:vimrc_local(expand('<afile>:p:h'))
augroup END
function! s:vimrc_local(loc)
let files = findfile('.vimrc.local', escape(a:loc, ' ') . ';', -1)
for i in reverse(filter(files, 'filereadable(v:val)'))
source `=i`
endfor
endfunction
これで、.vimrc.local
というファイルがあると、それを読み込んでくれるようになる。
.vimrc.local
あとは、下のようにプロジェクト固有の設定ファイルをつくってやればいい。
path_to_project/.vimrc.local
set noexpandtab
set tabstop=4
set shiftwidth=4
ついでに
.vimcrc.localをバージョン管理から除く
~/.gitconfig
[core]
excludesfile = ~/.gitignore
~/.gitignore
.vimrc.local