Esta é uma batalha que eu lutei também, e acho que finalmente ganhei. O problema é que há uma dúzia de maneiras diferentes pelas quais o comportamento pode ser substituído (por plugins / sintaxes). Aqui estão todas as configurações que eu tive que usar para vencer a batalha:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
Com o autocmd
, o primeiro set cindent
não deve ser necessário, mas essa é uma das coisas em que continuei adicionando linhas até o comportamento desaparecer.