Раздражающие "умные" отступы

и другие vi-подобные редакторы

Модератор: /dev/random

Аватара пользователя
VoidExp
Сообщения: 208
Статус: Lead guitar adept
ОС: Ubuntu

Раздражающие "умные" отступы

Сообщение VoidExp »

Почти всем я рад в vim-е, вот только очень раздражает тот факт что для каждого ключевого слова 'public' и 'private' в С++ приходится вручную забивать отступы. Например, хочется чтобы код форматировался вот так:

Код: Выделить всё

class Object
{
public:
    Object();
    MyMethod();

private:
    Object *self;
    int       counter;
};


но когда в режиме ввода вводишь '{', а за ним на новой строке слово "public:", то оно естественно "индентится" и там и остается. Режим расстановки отступов - "cindent". Собственно, как сделать так чтобы "public:" и "private:" забивались на уровень с граф. скобками?
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Раздражающие "умные" отступы

Сообщение sash-kan »

VoidExp писал(а):
28.07.2010 14:08
то оно естественно "индентится"
не наблюдаю такого поведения. да, после нажатия enter в строке, содержащей «{», происходит индентация следующей строки. но после нажатия enter в строке, содержащей «public:» индентации _текущей_ строки не происходит.
покажите хотя бы содержимое filetype и cinkeys.

если вам нужно, например, чтобы после «public;» происходил индент следующей строки, добавьте «public:» к cinwords (слова разделяются запятой).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: