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'
一个后备功能。