Можно ли изменить правила cindent для одного случая в vim? - PullRequest
5 голосов
/ 30 июля 2010

В настоящее время я использую vim в качестве редактора для программирования на D. Правила отступа в значительной степени идентичны C, но я столкнулся с случаем, который vim не обрабатывает по умолчанию. В D операторы case могут принимать строки, которые неправильно обрабатываются cindent.

Например, это работает:

switch(blah)
{
case 1:
    // something
case some_variable:
    // ...
}

Но не это:

switch(blah)
{
    case "yark":
        case "flurb":
    // something
    case "...":
        // ...
}

Есть ли какой-нибудь способ переопределить это единственное правило в настраиваемом файле отступа, или нужно переопределить весь набор правил cindent?

1 Ответ

4 голосов
/ 30 июля 2010

Попробуйте Vim 7.3. Правила отступов, введенные в этой версии в основном для JavaScript, также исправляют эту конкретную ситуацию.

В Vim 7.3 код имеет правильные отступы:

switch(blah)
{
    case "yark":
    case "flurb":
        // something
    case "...":
        // ...
}
...