我不想要初始化列表和范围声明的特殊缩进,所以我在我的.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完全相同。
好吧,似乎它实际上是incorrect behavior。