有没有适用于Rscript的Emacs模式?

6

有没有适用于Rscript的可用emacs模式?

(RscriptR语言的脚本前端。)

如果我输入以下内容:

#!/usr/bin/Rscript
print(commandArgs(TRUE))

在使用ESS R-mode进行缩进时,它会将第一行视为注释并使其缩进过多。
                          #!/usr/bin/Rscript
print(commandArgs(TRUE))
4个回答

2

从版本5.9开始,ESS将识别使用Rscript或litter解释器的脚本;请参见http://ess.r-project.org/Manual/ess.html#New-features

作为参考,要为解释器分配模式,请使用interpreter-mode-alist变量。例如,

(add-to-list 'interpreter-mode-alist '("Rscript" . r-mode))

任何以“#!/usr/bin/Rscript”开头的文件都将被识别为R模式。

1

虽然没有,但是你可以通过将文件的第二行改为以下内容来强制将Rscript转换为R编辑模式:

# -*- mode: R -*-

(更多信息请查看这里。)


2
另外,如果您将它们命名为.R(我通常用于普通R文件)或.r(我通常用于littler或Rscript“脚本”),则模式往往会自动分配。 - Dirk Eddelbuettel

0

有什么原因导致了这个匿名的负评?正如我所说,我提供的链接纠正了原帖中抱怨的糟糕缩进问题;如果这并没有帮到你,请忽略它。如果有错误或者有害的地方,请给出负评 -- 但请给大家一个解释为什么是错的。 - Michael Paulukonis

0

如果你只想注释掉一行代码,使用"##"代替"#"。双#将把该行代码放在正确的位置。


1
真的,这是一个有用的知识点。然而,在这种情况下,第一行必须以 #! 开始,以告诉 shell 它是什么类型的脚本。 - Aaron left Stack Overflow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接