Vim:缩进的C ++嵌套初始化列表问题

时间:2019-02-23 15:54:05

标签: vim indentation neovim

我不需要初始化列表和作用域声明的特殊缩进,因此我在.vimrc set cinoptions=i-s,g0中(根据this issue)。它可以解决问题:

class Proletariat {
public:
  Proletariat();

private:
  bool freedom;
  int workShift;
}

Proletariat::Proletariat():
freedom(false),
workShift(12) {
  pogrom();
}

但是它可以正常工作,直到代码包含在某个块中为止,例如:

namespace ClassWar {
  class Proletariat {
  public:
    Proletariat();

  private:
    bool freedom;
    int workShift;
  }

  Proletariat::Proletariat():
    freedom(false),
    workShift(12) {
      pogrom();
    }
}

如您所见,作用域声明仍然没有缩进,但初始化列表是。

我知道可以使用续行选项+N,但是(显然)它会中断续行缩进。

那么这种行为的原因是什么以及如何改变呢?

Vim和Neovim对此处理相同。

1 个答案:

答案 0 :(得分:0)

好吧,看来它实际上是incorrect behavior