使用Vim-R-plugin在vim中更改R缩进样式

时间:2012-11-28 03:23:02

标签: r vim

我正在使用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代码,但它太密集了,我无法理解。我有办法改变吗?

2 个答案:

答案 0 :(得分:5)

如果有人在寻找这个问题:

: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所述。

答案 1 :(得分:1)

首先看一下:help 'cindent':help 'smartindent';您可以使用这两个选项之一相对轻松地配置缩进。您也可以尝试编写自己的indentexpr,但这有点先进。这需要放弃Vim-R插件,转而使用Vim-native缩进解决方案。

相关问题