我以为你设定缩进的程度

(setq ess-indent-level 2)

但是我一直得到4个空格。例如我以前写
foo <- function(x)
  x + 2

但是现在,ESS将第二行放在距左边距4个空格的位置
foo <- function(x)
    x + 2

新旧版本之间有什么变化吗?我曾经使用ESS 5.11,但刚升级到13.05(!)。

最佳答案

是的,自5.11起,许多事情已经改变。现在默认缩进样式遵循R
标准的4个缩进空间。从ess-style-alist中选择最佳样式
并设置ess-default-style:

(setq ess-default-style 'OWN)

要返回到旧的默认设置,并让设置遵循单个变量,例如ess-indent-level添加以下内容:
(setq ess-default-style 'DEFAULT)

有点令人困惑,名称DEFAULT来自default-value,即样式
是根据缩进变量的默认设置(例如ess-indent-leveless-arg-function-offsetess-brace-offset等等。

FWIW,您可以使用C-c交互地更改缩进样式。 (截至2014年C-c C-e C-s)。

关于r - ESS设置选项卡的空白级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17608936/

10-12 23:33