Eu uso o mesmo arquivo vim em projetos diferentes e às vezes alguns projetos usam configurações diferentes. Portanto, para evitar mudar as coisas para cada projeto, eu apenas deixo que as instruções if tratem disso.
function Tabulate()
"check the repo
let l:repo = system('git remote show -n origin | grep "Fetch URL"')
"use match to check what repo it is.
if match(repo, ''domian'') > 1
set noexpandtab "tabs not spaces
else
set expandtab "spaces not tabs
endif
endfunction
autocmd BufEnter * :call Tabulate()