正如下面的几个答案中所指出的,现在首选的方法不是使用 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
作为graywh在评论中指出,smartindent 已取代 cindent 其中 “作品更巧妙”,但主要还是与类似 C 的语法的语言:
:help C-indenting
相关的,如果你打开一个同时使用制表符和空格的文件,假设你已经有了
set expandtab ts=4 sw=4 ai
您可以使用整个文件中的空格替换所有选项卡
:%retab
获取特定于文件类型的缩进的最佳方法是在 vimrc 中使用filetype plugin indent on
。然后,您可以在. vim / ftplugin / c.vim 中指定set sw=4 sts=4 et
,而不必为正在编辑的所有文件创建全局文件,并且其他非 C 类型语法将正确缩进,太(甚至是 lisps) 。