是否可以在vim中修改一个案例的cindent规则?

Dav*_*e B 5 vim d indentation

我目前正在使用vim作为D编程的编辑器.缩进规则几乎与C相同,但是我遇到了vim默认情况下不处理的情况.在D中,case语句可以采用cindent未正确处理的字符串.

例如,这有效:

switch(blah)
{
case 1:
    // something
case some_variable:
    // ...
}
Run Code Online (Sandbox Code Playgroud)

但不是这个:

switch(blah)
{
    case "yark":
        case "flurb":
    // something
    case "...":
        // ...
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在自定义缩进文件中覆盖该单个规则,还是必须重新实现整个cindent规则集?

ric*_*chq 4

尝试 Vim 7.3。此版本中主要针对 JavaScript 引入的缩进规则也解决了这种特殊情况。

在 Vim 7.3 中,代码正确缩进为:

switch(blah)
{
    case "yark":
    case "flurb":
        // something
    case "...":
        // ...
}
Run Code Online (Sandbox Code Playgroud)