如何禁用vim的switch case缩进?

时间:2010-08-09 22:32:11

标签: c indentation vim

我目前正在与Vim战斗,我似乎无法让缩进选项做我想要的。

以下是我的设置,我将它们放在.vimrc的底部,以确保它们优先。你可以看到我有点疯狂,所以我试着关掉几乎所有东西:

set cindent
set cinkeys=o,O
set cinoptions=
set cinwords=
set indentexpr=

在大多数情况下,它似乎工作正常,它打开一个块后做一个缩进,一切都很好。但是有一个案例让我发疯,当{语句后有case时,下一行太过于缩进:

switch () {
    case CASE: {
                   // <-- next line gets indented to here, why??
        // <-- should be indented to here

如何让它停止这样做? TIA

3 个答案:

答案 0 :(得分:23)

:set cinoptions=l1

(这是字母后跟第一个字母)

查看:帮助cinoptions - 默认字符串的值和不同选项的描述。

答案 1 :(得分:1)

当我手动输入set命令时,我没有任何缩进。您是否查看过:set all的输出以确认您的设置未被覆盖?

注意:这应该在评论中,但目前我不允许使用该选项。

答案 2 :(得分:1)

如果缩进是N个空格(用实际值替换N),请尝试以下

{{1}}

:N - > place'case'标签来自switch缩进的0个字符

= 0 - &gt;缩进案例标签

中的陈述
相关问题