Vim:C++嵌套初始化列表缩进问题
Vim: indentation of C++ nested initialization list problem
我不想对初始化列表和范围声明进行特殊缩进,所以我在我的 .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。
我不想对初始化列表和范围声明进行特殊缩进,所以我在我的 .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。