2009-07-10 162 views
6

Rscript有沒有可用的emacs模式?Rscript是否有Emacs模式?

Rscript是腳本前端爲R語言。)

如果鍵入這樣的:

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

並在ESS R模式做indent它縮進如狂的第一行,因爲它認爲這是一個註釋:

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

回答

1

沒有,但你可以通過使文件看起來像這樣的二線迫使你RSCRIPT爲R編輯模式:(更多信息here

# -*- mode: R -*- 

+2

另外,如果你結束它們.R(我選擇正常的R文件)或.r(我選擇littler或Rscript'腳本'),模式會自動分配給。 – 2009-08-12 16:23:03

0

嘗試shell-script-mode - 一些notes on customized indentation

它縮進你的代碼就好了,對我來說。

+0

任何推動反對票的理由?正如我所說的,我所聯繫的是糾正OP所抱怨的不好縮進;如果這沒有幫助,請忽略。如果錯誤或有害,downvote - 但每個人都有禮貌解釋爲什麼它是錯誤的。 – 2010-09-07 14:57:35

2

由於版本5.9,ESS將識別使用Rscript或垃圾解釋器的腳本;見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模式。

0

如果您只是想註釋一行,請使用「##」而不是「#」。雙#將把線放在正確的位置。

+1

真實,並且知道一件有用的事情。但是,在這種情況下,第一行需要以`#!`開始,告訴shell它是什麼類型的腳本。 – Aaron 2011-09-20 16:59:39