Кто-нибудь настроил ее vim таким образом, что в качестве символов отступа используются жесткие вкладки, но используются пробелы для выравнивания? У меня проблема в том, что при запуске строки продолжения, как в
if (condition1 && (anotherlongcondition || /* <-- Here I insert a newline */
|-------|------- whatever /* some additional alignment added automatically */
, затем cin
(что для меня обязательно) добавляет некоторое выравнивание именно так, как я предпочитаю позиционно, но это выравнивание создается с использованием как можно большего количества жестких вкладок и заполнения остальных пробелами (как я пытался визуализировать).
Короче говоря, cin
не делает различий между отступами и выравниванием. Мне бы очень хотелось, чтобы все добавленное выравнивание в приведенном выше примере было пробелами. Таким образом, выравнивание будет сохранено правильно при временном переключении ts
.
Чтобы еще раз прояснить, я хотел бы иметь возможность написать следующий код, никогда не нажимая <TAB>
или <SPACE>
перед первым непустым символом в любой строке (и не выполняя никакого ручного сдвига или чего-то еще):
void foo(int bar)
{
|-------somestatement;
|-------if (somecondition && (someothercondition ||
|------- whatevercomesnext))
|-------|-------dosomething;
}
Я уже опробовал ctab.vim
, но он фокусируется на редактировании выровненной строки с плавными табуляторами, что кажется мне глупым, потому что ручное выравнивание — это задача, которая обеспечивает одноэтапное уточнение, а не шаг табуляции по ширине уточнение. Я не изменил способ, которым cin
использует смешанные табуляции и пробелы для выравнивания.
Мне не удалось найти встроенный способ сделать это. Может, все-таки есть? Во всяком случае, я сомневаюсь, что есть плагин, который делает это. Хотя я, по общему признанию, сам не использую vim-скрипты и, возможно, у меня недостаточно опыта, я должен сказать, что большинство плагинов, которые я пробовал, только испортили конфигурацию моего редактора...
ctab.vim
(версия 2.6), и, похоже, он делает то, чего вы хотите достичь, т. Е. При вводе приведенного выше фрагмента кода мне не нужно вводить символы табуляции или пробела, чтобы правильно отформатировать его. - person ekoeppen   schedule 15.01.2013