Меня никогда не устраивают ответы «все на всякий случай». Я настаиваю на том, чтобы знать, какие из этих вещей были установлены неправильно и как они были установлены. Вот команда, которая покажет вам значения всех соответствующих настроек, упомянутых здесь, а также где они были установлены в последний раз. Если ни одна Last set fromстрока не следует, это значение по умолчанию. Нет смысла указывать setправильные значения по умолчанию.
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
Смотрите: http://vimdoc.sourceforge.net/htmldoc/options.html#:set-verbose
Все, что мне нужно было сделать, чтобы это работало, это удалить set smartindentиз плагина и добавить в мой ~/.vim/vimrc:
set cindent cinkeys-=0#
set expandtab shiftwidth=4 tabstop=4 softtabstop=4