Tab键== 4个空格和自动
如何使vi-Vim从不使用制表符(将空格转换为制表符,不好!),制作tab键== 4个空格,并在Emacs之类的大括号之后自动缩进代码?
另外,如何保存这些设置,以免再次输入?
我已经看到了与此相关的其他问题,但它似乎总是与我想要的有些偏离。
正如在下面的几个答案中已经指出的那样,现在首选的方法不是使用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
正如评论中指出的那样,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类型语法将正确缩进,也是(甚至是说)。