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类型语法将正确缩进,也是(甚至是说)。

链接地址: http://www.djcxy.com/p/4895.html

上一篇: Tab key == 4 spaces and auto

下一篇: Getting vim to recognize XML