Лучший способ - вставить эти настройки ~/.vim/after/ftplugin/<filetype>.vim
.
Для HTML (при условии, что вы хотите 4-символьные вкладки):
~/.vim/after/ftplugin/html.vim
setlocal shiftwidth=4
setlocal softtabstop=4
setlocal noexpandtab
Использование ftplugin предпочтительнее, чем использование автокоманд, поскольку Vim уже сам выполняет проверки типов файлов и уже пытается найти подходящий ftplugin, поэтому нет причин форсировать еще больше проверок и переопределять колесо.
-- редактировать --
Если у вас есть filetype plugin on
в вашем vimrc
- что вы должны - Vim будет пытаться обнаружить тип файла из файлов и редактирования, как только правильный тип файла будет найден и набор для буфера, попробуйте источник соответствующего ftplugin в этих стандартных местах:
$VIMRUNTIME/ftplugin/html.vim
~/.vim/ftplugin/html.vim
~/.vim/ftplugin/after/html.vim
Все это происходит автоматически, поэтому, если Vim распознает ваш тип файла, нет абсолютно никакой причины добавлять какую-либо логику определения типа файла: просто добавьте свои настройки в правильный ftplugin, и вы в порядке.
filetype plugin indent on
в вашемvimrc
.filetype plugin on
задано, путь vim включает в себя файлыftplugin/<filetype>.vim
иafter/ftplugin/<filetype>/vim
.