寻找这段代码的正确cinoptions

发布于 2024-10-27 05:55:30 字数 396 浏览 4 评论 0原文

我可以设置哪些 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

What cinoptions can I set for getting the block below indented as shown?

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

The closest I've got was to:

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

That's almost what I want, only that everything after : is indented :)
For that, I used: set cino=i0,+2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九八野马 2024-11-03 05:55:30

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

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

How about i0,+2,t0? (tN is for "a function return type declaration").

That worked for me, but, the vims I tried (7.0 and 7.3) did two different things, neither the same as yours, with i0,+2.

一身骄傲 2024-11-03 05:55:30

看起来您只需要一个附加选项。通过将 p0 添加到 cinoptions 中,我得到了您期望的结果:

设置 cino=i0,+2,p0

这会调整 K&R 样式缩进。 来自文档

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;

It looks like you only need one additional option. I got the results you expected by adding p0 to the cinoptions:

set cino=i0,+2,p0

This adjusts the K&R style indentation. 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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文