如何正确地使用管道(%>%)运算符创建vim indent dplyr代码?

enr*_*ero 15 vim r indentation dplyr magrittr

例如,vim 不会正确缩进以下代码:

flights <- flights %>%
    group_by(year, month, day) %>%
    select(arr_delay, dep_delay) %>%
    summarise(
        arr = mean(arr_delay, na.rm = TRUE),
        dep = mean(dep_delay, na.rm = TRUE)
    ) %>%
    filter(arr > 30 | dep > 30)
Run Code Online (Sandbox Code Playgroud)

有没有办法来解决这个问题?

我正在使用Vim-R-Plugin,相关问题就在这里.

far*_*nsy 3

您可以做的一件事是学习 vimscript 并自己修改此行为。如果效果良好,您可以将更改贡献给原作者。

我以这种方式开始,但最终从头开始编写自己的缩进代码,它按照我喜欢的方式完成所有操作。我与 R 插件作者讨论了用我的代码替换他的代码,但我的代码有一些我从未花时间去发现的错误,这并没有让我太烦恼(如果你有一个不匹配的右大括号,它就会卡住) , 例如)。我从来没有动力去清理剩下的部分并尝试将其放入 VIM 存储库。

为了回应您的询问,我已将我的代码放在 github 上。如果需要,您可以尝试使用我的缩进代码而不是 r-plugin 代码。它可能会也可能不会解决您的问题(不承诺)。如果我有足够的动力,我可能会对其进行足够的修复,以便我们可以将其设为默认的 vim 缩进代码。