Как было указано в нескольких ответах ниже, предпочтительным методом сейчас НЕ является использование smartindent, а вместо этого используйте следующее (в вашем .vimrc ):
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab
В вашем .vimrc: файле:
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
Файлы справки занимают немного времени, чтобы привыкнуть, но чем больше вы читаете, тем лучше становится Vim:
:help smartindent
Еще лучше, вы можете встроить эти параметры в ваш источник для мобильности:
:help auto-setting
Чтобы увидеть текущие настройки:
:set all
Как указывает greywh в комментариях, smartindent был заменен на cindent, который "работает более умно", хотя все еще в основном для языков с синтаксисом, подобным C:
:help C-indenting