小编典典

Tab 键 == 4 个空格并在 Vim 中的花括号后自动缩进

all

如何使vi - Vim从不使用制表符(将空格转换为制表符,糟糕!),使制表键 ==
4
个空格,并像
Emacs一样在大括号块之后自动缩进代码?

另外,如何保存这些设置,这样我就不必再次输入它们了?

我已经看到与此相关的其他问题,但它似乎总是与我想要的有点偏离。


阅读 133

收藏
2022-02-25

共1个答案

小编典典

正如在其他几个答案中所指出的那样,现在首选的方法不是使用 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:][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
2022-02-25