如何自动缩进行?

时间:2009-08-23 15:59:58

标签: vim

快速新手问题。假设我在Vim中有以下代码:

void main()

{

    int i = i + 1;

    return i;
}

我将光标放在两行代码之间的空行上。当我按i(或a)输入文本时,我希望光标缩进到正确的位置(即在“int i ...”中的i下面)。有什么想法可以做到吗?

4 个答案:

答案 0 :(得分:6)

就像@chaos提到的那样,cindent可能就是你要找的东西。

还有autoindentsmartindentindentexpr,它们都是可配置的,并在the Vim documentation on indent记录。

以下是可配置的摘录:

{N    Place opening braces N characters from the prevailing indent.
              This applies only for opening braces that are inside other
              braces.  (default 0).

                cino=               cino={.5s           cino={1s
                  if (cond)           if (cond)           if (cond)
                  {                     {                     {
                      foo;                foo;                foo;

答案 1 :(得分:2)

:set cindent

答案 2 :(得分:2)

只在空行上使用cc,在新行上使用o

答案 3 :(得分:0)

您可以尝试输入3>>在int i...行。不完全是自动的,但它可以节省时间。