Похоже, что в Vim есть много опций для отступа c кода с переменными cindent и cinoptions. Я не вносил никаких изменений в эти настройки и протестировал это с бесплатной sh установкой Vim и без vimr c. Кажется, я не могу найти объяснения следующему поведению:
Если publi c используется в первой строке тела класса, кажется, что отступ правильно отформатирован. Использование gg = G форматирует тело следующим образом:
class Thing
{
public:
int a;
};
Но, если над ним что-то есть, vim не делает отступ в строке после ключевого слова publi c. Использование gg = G форматирует тело так:
class Thing
{
int b;
public:
int a; //WHY is there no additional indentation level anymore???
};
Кто-нибудь знает, почему это происходит? Это сводит меня с ума.
Спасибо!