简短的答案是您的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
以获取更多信息。