我喜欢vim中的cindent,smartindent和=%功能,可以正确缩进代码。 但是,我有一个问题,它用8个空格缩进所有内容,如果我有很少的嵌套ifs,它可以是非常长的行,就像这里一样,虽然首先有这么多嵌套ifs是另一个问题。
4 int main()
5 {
6 if(x)
7 {
8 if(u)
9 {
10 if(y)
11 {
12 }
13 }
14 }
15 }
我尝试设置ts = 1但仍然无效。
使用这些功能时,有没有办法将默认缩进级别设为4个空格?
编辑 设置sw = 4解决了问题。难怪vim总是让我感到惊讶:)
答案 0 :(得分:7)
我相信您正在寻找shiftwidth
,缩写为sw
。
编辑:文档中的几个引用:
shiftwidth
:用于(自动)缩进的每个步骤的空格数。用于|'cindent'|,|>> |,|<< |等
tabstop
:文件中<Tab>
计算的空格数。
expandtab
:在插入模式下:使用适当数量的空格插入<Tab>
。空格用于'&gt;'的缩进和'&lt;'命令和'autoindent'打开时。
smarttab
:启用时,行前面的<Tab>
会根据“shiftwidth”插入空白。 'tabstop'在其他地方使用。
根据您的风格,您可能需要更改其中一个以上。如果您需要更多说明,请查看他们的帮助条目!
答案 1 :(得分:1)
尝试将shiftwidth
(sw
)设为4。
而且,如果您想使用空格而不是标签set expandtab
(et
)。然后,您可以使用:retab
将所有选项卡更改为空格。