Vim自动缩进太远,无法使用Lappy实现匿名R函数

Vim自动缩进太远,无法使用Lappy实现匿名R函数,r,vim,indentation,R,Vim,Indentation,对于以下R代码,Vim自动缩进太远(超过4个空格): lapply(1:10, function(x){ Something here }) 我怎样才能解决这个问题 这是一张照片: 下面是一个最小的.vimrc,它在编辑扩展名为.R的文件时复制此行为: filetype on filetype plugin on filetype indent on set ts=4 sw=4 只需使用.vimrc选项shiftwidth(用于2个空格): 设置shiftwidth=2 资

对于以下R代码,Vim自动缩进太远(超过4个空格):

lapply(1:10, function(x){
       Something here
})
我怎样才能解决这个问题

这是一张照片:

下面是一个最小的.vimrc,它在编辑扩展名为.R的文件时复制此行为:

filetype on
filetype plugin on
filetype indent on
set ts=4 sw=4 

只需使用.vimrc选项shiftwidth(用于2个空格):

设置shiftwidth=2

资料来源:
我找到了解决方案:

添加

let r_indent_align_args = 0

对我来说,vimrc解决了这个问题。有关更多信息,请参阅:h ft-r-indent。

Hi。谢谢,但这不是答案-我打算缩进4个空格,但vim进一步缩进(大约7个)。我的shiftwidth设置为4。我认为这是因为Vim使用了单词“function”相对于花括号的位置来通知缩进,在这种情况下,函数在lapply之后。您是否设置了其他选项,如expandtab、smarttab和tabstop?我添加了一个极小的.vimrc,它复制了这种行为我认为Vim根本不默认缩进(至少在我测试它的时候没有)。你发现了什么样的扩展/选项来实现这一点?我添加了一个极小的.vimrc来复制这种行为