2009-07-10 4 views
6

Existe-t-il un mode emacs utilisable pour Rscript?Existe-t-il un mode Emacs pour Rscript?

(Rscript est le script frontal pour la langue R.)

Si je tape ceci:

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

et faire indent dans le ESS R-mode, il indente la première ligne comme un fou , car il voit comme un commentaire:

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

Répondre

1

Il n'y a pas, mais vous pouvez forcer votre RSCRIPT en mode d'édition de R en faisant la deuxième ligne du fichier ressemble à ceci: (. Plus d'informations here)

# -*- mode: R -*- 

+2

En outre, si vous les terminez .R (mon choix pour les fichiers R normaux) ou .r (mon choix pour les scripts littler ou Rscript), le mode tend à être assigné automatiquement à. –

0

Essayez shell-script-mode - avec quelques notes on customized indentation

Il indent votre code très bien, pour moi.

+0

Y a-t-il une raison pour le vote par rétrogradation? Comme je l'ai dit, ce que j'ai lié à corrigé la mauvaise indentation dont s'est plaint l'OP; Si ce n'est pas utile, veuillez ignorer. Si c'est faux ou nuisible, downvote - mais faites tout le monde la courtoisie d'expliquer pourquoi c'est faux. –

2

Au version 5.9, ESS reconnaît les scripts utilisant l'interpréteur Rscript ou litter; voir http://ess.r-project.org/Manual/ess.html#New-features.

Pour référence, pour affecter un mode à un interpréteur, utilisez la variable interpréteur-mode-alist. Par exemple,

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

Tout fichier avec une première ligne comme "#!/Usr/bin/RSCRIPT" sera reconnu comme mode r.

0

Si vous voulez juste commenter une ligne, utilisez "##" au lieu de "#". Double # mettra la ligne à la bonne position.

+1

Vrai, et une chose utile à savoir. Cependant, dans ce cas, la première ligne doit commencer par '#! 'Pour indiquer au shell quel type de script il est. – Aaron

Questions connexes