13

我使用 Vim-R-plugin 和 Vim 为我的 R 代码提供语法高亮。常规缩进样式在括号的开头对齐函数中的参数。我想将其更改为更像花括号内的代码,其中新行缩进两个空格,而不是与花括号内联。

我的函数名称往往很冗长,默认的缩进样式将我的所有参数一直推到屏幕右侧。

这里有一些例子:

# Default indentation style
result <- fun(
              par1 = "abc",
              par2 = "def",
              par3 = 3
              )

所需的样式模仿for循环和函数定义的缩进样式。

# Desired indentation style
result <- fun(
  par1 = "abc",
  par2 = "def",
  par3 = 3
)

# Similar to for loop indentation
for(i in 1:10) {
  print(i)
}

# ... and function definitions
fun <- function(par1 = 1) {
 print(par1 + 1)
}

我查看了 Vim-R-plugin 代码,但它太密集了,我无法理解。有没有办法让我改变它?

4

2 回答 2

10

如果有人寻找这个问题:

:help r-plugin-indenting

简短的回答。在 .vimrc 中,添加这些行:

" set vim-r-plugin to 
let r_indent_align_args = 0

" Set vim-r-plugin to mimics ess :
let r_indent_ess_comments = 0
let r_indent_ess_compatible = 0

缩进将像 OP 所描述的那样。

于 2014-06-17T09:18:21.473 回答
1

看看:help 'cindent':help 'smartindent'开始;您可以使用这两个选项中的任何一个相对轻松地配置缩进。您也可以尝试编写自己的indentexpr,但这有点高级。这将需要放弃 Vim-R 插件以支持 Vim-native 缩进解决方案。

于 2013-04-10T19:48:38.010 回答