寻找这段代码的正确cinoptions

时间:2011-03-24 19:05:06

标签: vim indentation

如下图所示,我可以设置哪些cinoptions以使下面的块缩进?

f(int *p) 
: a(p)
, b(0)
{
  std::cerr << blah
    << foo << std::endl;
}

我最接近的是:

f(int* p) 
  : a(p)
  , b(0)
  {
    std::cerr << blah
      << foo << std::endl;
  }

这几乎就是我想要的,只有:之后的所有东西都缩进了:) 为此,我使用了:set cino=i0,+2

2 个答案:

答案 0 :(得分:1)

看起来你只需要一个额外的选项。通过将p0添加到cinoptions

,我得到了您期望的结果
  

设置cino = i0,+ 2,p0

这会调整K&amp; R样式缩进。 From the docs

pN    Parameter declarations for K&R-style function declarations will
      be indented N characters from the margin.  (default
      'shiftwidth').

    cino=               cino=p0          cino=p2s
      func(a, b)          func(a, b)       func(a, b)
          int a;          int a;                   int a;
          char b;         char b;                  char b;

答案 1 :(得分:1)

i0,+2,t0怎么样? (tN用于“函数返回类型声明”)。

这对我很有用,但是,我尝试过的vims(7.0和7.3)做了两件不同的事情,与你的i0,+2完全相同。