1

我有一些代码:

    Vector3 targetCoords = this.GetFiringSolution(
        targetObject,
        targetObject.root.rigidbody.velocity,
        muzzle,
        verticalRotator.root.rigidbody.velocity,
        projectileForce 
    )

但是当我在 vim 中使用 (gg+G) 时,它变成了

    Vector3 targetCoords = this.GetFiringSolution(
            targetObject,
            targetObject.root.rigidbody.velocity,
            muzzle,
            verticalRotator.root.rigidbody.velocity,
            projectileForce 
    )

这是我的 :set 输出:

--- Options ---
  autoindent          cindent             fileformat=unix     history=50          modified            scroll=28           smartindent       notextmode
  background=dark     diffexpr=MyDiff()   filetype=cs         hlsearch            number              shiftwidth=4        syntax=cs           visualbell
  backup              expandtab           helplang=en         incsearch           ruler               showmatch           tabstop=4           window=57
  backspace=indent,eol,start
  comments=sO:* -,mO:*  ,exO:*/,s1:/*,mb:*,ex:*/,:///,://
  formatoptions=croql
  keymodel=startsel,stopsel
  selection=exclusive
  selectmode=mouse,key
  viminfo=%,'100,<50,s10,h,rA:,rB:
  whichwrap=b,s,<,>,[,]
  wildignore=*.meta,*.swp

有没有办法阻止这种行为?我试着研究 cimoptions 但没有完全理解。这发生在 C# 和 PHP 中的多行函数调用(和类似的事情)——可能是其他的。

我也尝试打开 si/ai 和两者,但没有帮助。

提前致谢。

4

1 回答 1

1

从 vim 帮助cinoptions-values

    +N    Indent a continuation line (a line that spills onto the next)
          inside a function N additional characters.  (default
          'shiftwidth').
          Outside of a function, when the previous line ended in a
          backslash, the 2 * N is used.

因此,您似乎可以cindent完全禁用,或者您将不得不在函数之外使用双缩进。

于 2013-10-23T05:34:32.550 回答