cindent,smartindent <esc> = vim中的%功能</esc>

时间:2009-08-13 02:05:24

标签: vim

我喜欢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总是让我感到惊讶:)

2 个答案:

答案 0 :(得分:7)

我相信您正在寻找shiftwidth,缩写为sw

编辑:文档中的几个引用:

  • shiftwidth:用于(自动)缩进的每个步骤的空格数。用于|'cindent'|,|&gt;&gt; |,|&lt;&lt; |等

  • tabstop:文件中<Tab>计算的空格数。

  • expandtab:在插入模式下:使用适当数量的空格插入<Tab>。空格用于'&gt;'的缩进和'&lt;'命令和'autoindent'打开时。

  • smarttab:启用时,行前面的<Tab>会根据“shiftwidth”插入空白。 'tabstop'在其他地方使用。

根据您的风格,您可能需要更改其中一个以上。如果您需要更多说明,请查看他们的帮助条目!

答案 1 :(得分:1)

尝试将shiftwidthsw)设为4。

而且,如果您想使用空格而不是标签set expandtabet)。然后,您可以使用:retab将所有选项卡更改为空格。