2009-07-10 12 views
6

Czy istnieje dostępny tryb emacs dla Rscript?Czy jest tryb Emacs dla Rscript?

(Rscript jest front-end skrypt dla języka R.)

Gdybym wpisz:

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

i zrobić indent w R-mode ESS to wcięcie pierwszego wiersza jak szalony , ponieważ widzi go jako komentarz:

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

Odpowiedz

1

Nie ma, ale można zmusić Rscript w trybie edycji R poprzez drugą linię wyglądu plików jak ten: (. Więcej informacji here)

# -*- mode: R -*- 

+2

Ponadto, jeśli je zakończysz .R (mój wybór dla normalnych plików R) lub .r (mój wybór dla mniejszych lub skrypty Rscript), tryb ten jest automatycznie przypisywany do. –

0

Spróbuj shell-script-mode - niektóre notes on customized indentation

Wprowadził dla mnie kod.

+0

Jaki jest powód do głosowania na prawo jazdy? Jak już powiedziałem, to, co łączyłem, aby skorygować złe wcięcie, na które uskarżał się OP; jeśli to nie pomoże, zignoruj. Jeśli jest to niewłaściwe lub szkodliwe, przejdź do porządku dziennego - ale czyńcie wszyscy dzięki uprzejmości wyjaśnienia DLACZEGO to jest złe. –

2

dzień w wersji 5.9, ESS rozpozna skrypty za pomocą interpretera Rscript lub miotu; patrz http://ess.r-project.org/Manual/ess.html#New-features.

Dla odniesienia, aby przypisać tryb do interpretera, należy użyć zmiennej trybu-translatora-trybu. Na przykład,

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

Każdy plik z pierwszej linii jak "#!/Usr/bin/Rscript" zostaną rozpoznane jako R-mode.

0

Jeśli chcesz tylko skomentować linię, użyj "##" zamiast "#". Podwójne # spowoduje umieszczenie linii we właściwej pozycji.

+1

To prawda i przydatna rzecz. Jednak w tym przypadku pierwszy wiersz jest wymagany, aby rozpocząć od '#!', Aby poinformować powłokę, jaki to jest skrypt. – Aaron