%>%之后的Emacs ESS缩进

时间:2018-12-13 20:05:57

标签: r emacs indentation ess

对于R代码,我当前的emacs ESS样式是C ++,结果是

worst <- flights_sml %>%
    group_by(year, month, day)

即在%>%之后的4个空格处缩进。我希望它是2个空格。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

不清楚您想要什么。如果在连续的语句(例如在管道后面的语句)中仅需要2个空格,则以下内容应该起作用

(setq ess-offset-continued '(straight 2))

因此,缩进仍将是C ++样式中设置的默认4个空格,例如。结果看起来像

worst <- flights_sml %>%
  group_by(year, month, day)

f <- function(x) {
    x
}  

否则,如果您始终想要2个空间偏移量

(setq ess-indent-offset 2)

您可以在模式挂钩中自定义这些变量,例如。

(defun my-R-hook ()
  (setq-local ess-style 'C++)
  (setq-local ess-offset-continued '(straight 2)))

有关更多详细信息,请参见ess-offset-continuedess-style-alist的文档。