Vim: Использовать табуляцию для отступов, пробелы для выравнивания в исходных файлах C

Кто-нибудь настраивал vim таким образом, чтобы использовать жесткие табуляции в качестве символов отступа, но использовать пробелы для выравнивания? У меня проблема в том, что когда я начинаю строку продолжения, как в

if (condition1 && (anotherlongcondition || /* <-- Here I insert a newline */
|-------|-------   whatever  /* some additional alignment added automatically */

, то cin (который является обязательным для меня) добавляет некоторое выравнивание, как я предпочитаю позиционно, но это выравнивание создается, используя как можно больше жестких табуляций и заполняя остальное пробелами (как я пытался представить).

Короче говоря, cin, похоже, не делает различий между отступом и выравниванием. Мне бы очень хотелось, чтобы все добавленное выравнивание в приведенном примере было пробелами. Так выравнивание сохранялось бы правильно при временном переключении ts.

Чтобы еще раз прояснить ситуацию, я хотел бы иметь возможность написать следующий код, никогда не нажимая или перед первым непустым символом в любой строке (и не делая никаких ручных сдвигов или чего-то подобного):

void foo(int bar)
{
|-------somestatement;
|-------if (somecondition && (someothercondition ||
|-------                      whatevercomesnext))
|-------|-------dosomething;
}

Я уже опробовал ctab. vim, но он ориентирован на редактирование выровненной строки с мягкими табуляциями, что кажется мне глупым, потому что ручное выравнивание - это задача, позволяющая выполнить одношаговое уточнение, а не уточнение ширины табуляции. Я не изменил способ, которым cin использует смешанные табуляции и пробелы для выравнивания.

Мне не удалось найти никакого встроенного способа добиться этого. Возможно, он все же есть? В любом случае, я сомневаюсь, что есть плагин, который это делает. Хотя, признаться, я сам не работаю с vim-скриптами и, возможно, не имею достаточного опыта, должен сказать, что большинство плагинов, которые я пробовал, только портили конфигурацию моего редактора...

7
задан augustin 21 February 2015 в 13:31
поделиться