如何在多行c ++初始化列表后修复Vim中的缩进?

时间:2016-05-09 03:57:45

标签: c++ vim indentation

在Vim中,当我有一个很长的构造函数迫使我将初始化列表项放在不同的行上时,在使用gg=G之类的自动格式化后,我的缩进看起来像这样。

Really_Long_Class_Name::Really_Long_Class_Name(int _arg1, int _arg2) :
  arg1(_arg1),
  arg2(_arg2) {
    do_stuff();
  }

我希望它像这样缩进:

Really_Long_Class_Name::Really_Long_Class_Name(int _arg1, int _arg2) :
    arg1(_arg1),
    arg2(_arg2) {
  do_stuff();
}

看了similar question后,我靠近cinoptions玩得更近了。通过使用:set cino+=i4,e-4,0}-4,我让它看起来像我想要的那样,但如果所有的初始化列表项都在同一行,那么我的对齐就搞砸了,如下所示:

Other_Class::Other_Class(int _arg1, int _arg2) : arg1(_arg1), arg2(_arg2) {
do_stuff();
}

如何在不丢弃缩进其他情况的情况下修复这一案例的缩进?

0 个答案:

没有答案