我目前使用的是emacs ESS,最近同意使用一个使用2个空格缩进的内部样式指南。我在.emacs文件中添加了以下内容:
(defun myindent-ess-hook ()
(setq ess-indent-level 2)
)
(add-hook 'ess-mode-hook 'myindent-ess-hook)一切都进行得很顺利。当我定义一个新函数时,它会很好地缩进2个空格。此外,当我调用一个函数并将调用分成多行时,空格也被很好地缩进了两个空格:
x <- function(){
mean(
c(2,3)
)
}但是,如果我用::来限定mean函数的范围,缩进就会变得混乱:
x <- function(){
base::mean(
c(2,3)
)
}我猜测这与尾随空格有关,但即使在but尾随空格之后:
(defun myindent-ess-hook ()
(setq ess-indent-level 2)
(setq ess-nuke-trailing-whitespace t)
)
(add-hook 'ess-mode-hook 'myindent-ess-hook)问题仍然存在-以前有人遇到过这个问题吗?
发布于 2018-01-16 18:27:17
我在黑暗中的刺刀,可能对你发布的例子有效,但你可能不喜欢其他情况下的效果。有关更多选项,请参阅ess-offset-arguments-newline上的describe-variable (默认值:prev-call),然后尝试:
(defun myindent-ess-hook ()
(setq ess-indent-level 2)
(setq ess-offset-arguments-newline '(prev-line 2))
)
(add-hook 'ess-mode-hook 'myindent-ess-hook)https://stackoverflow.com/questions/47890433
复制相似问题