Короткий ответ: в вашем autocmd отсутствует триггер BufEnter, поэтому он не запускается при создании нового файла. Попробуйте вместо этого:
au BufEnter,BufRead *.py setlocal smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
Обратите внимание, что я также изменил set
на setlocal
. Это предотвратит использование этих опций другими опциями буфера.
«Правильный» способ сделать то, что вы пытаетесь сделать, это добавить filetype indent on
к вашему .vimrc. Это включит отступ на основе встроенного типа файла. Vim поставляется с поддержкой отступов Python. См. :help filetype-indent-on
для получения дополнительной информации.