代码之家  ›  专栏  ›  技术社区  ›  andy SKK

如何禁用开关箱的vim缩进?

  •  18
  • andy SKK  · 技术社区  · 16 年前

    我现在正在和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
    

    我怎样才能让它停止这样做?短暂性脑缺血发作

    3 回复  |  直到 16 年前
        1
  •  24
  •   ergosys    16 年前
    :set cinoptions=l1
    

    (那是字母ell,后面是数字1)

    请看:帮助获取默认字符串的选项值以及不同选项的描述。

        2
  •  1
  •   rlduffy    16 年前

    set 命令,我没有任何缩进。你有没有看过 :set all

    注意:这可能会出现在评论中,但我目前不允许使用该选项。

        3
  •  1
  •   nithin    10 年前

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

    set cinoptions=p0,t0,:N,=0
    set cinwords=if,else,switch,case,for,while,do
    set cindent
    

    :N->将“case”标签置于开关缩进的0个字符处