Answers:
使用:set cindent(:set cin简称)或:set smartindent(:set si简称)。如果您的行以大括号结尾,并且您单击Enter,则下一行将自动缩进一个级别。(这好于:set autoindent,后者仅缩进了同一级别的下一行。) cindent更适合于类似C的语言,而smartindent对于其他编程语言则更加通用。
量和缩进的类型是由控制:set shiftwidth=…,:set tabstop=…和:set expandtab。
smartindent并不被弃用,但cindent值得注意。我已经更新了答案。(谢谢!)
在文件底部,我正在使用:
# vim: ts=2 sw=2 sts=2 sr noet st ai si
例如Dockerfile:
FROM centos-7
RUN ...
CMD ...
# vim: ts=2 sw=2 sts=2 sr noet st ai si
如果只想保留缩进,请使用 # vim: st ai si
'smartindent'已弃用,因此这不是最佳选择。它已取代'cindent'并'cinoptions'于C这样的语言。但是,总的来说,文件类型缩进是一种解决方法,但它有'autoindent'一个后备功能。