如何使vi - Vim从不使用制表符(将空格转换为制表符,糟糕!),使制表键 == 4 个空格,并像Emacs一样在大括号块之后自动缩进代码?
另外,如何保存这些设置,这样我就不必再次输入它们了?
我已经看到与此相关的其他问题,但它似乎总是与我想要的有点偏离。
正如在其他几个答案中所指出的那样,现在首选的方法不是使用 smartindent,而是使用以下内容(在您的 中.vimrc):
.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:][1] 文件中:
set smartindent set tabstop=4 set shiftwidth=4 set expandtab
~~
帮助文件需要一些时间来适应,但是你阅读的越多,Vim 就越好:
:help smartindent
更好的是,您可以在源代码中嵌入这些设置以实现可移植性:
:help auto-setting
要查看您的当前设置:
:set all
正如评论中指出的那样, smartindent已被 cindent 取代,它“工作得更聪明”,尽管仍然主要用于具有类 C 语法的语言:
:help C-indenting