web-dev-qa-db-fra.com

Comment puis-je utiliser le mode Emacs ESS avec démarque R?

Existe-t-il un moyen de configurer Emacs afin qu'il reconnaisse (et autorise l'exécution) des morceaux de code R dans les fichiers de démarque R (.Rmd) de la même manière qu'il reconnaît les morceaux de code dans .Rnw (Sweave) ou .org (mode org) des dossiers?

47
David LeBauer

polymode est en cours de développement qui vous permet/vous permettra d'écrire des démarques avec des morceaux R (pour le traitement avec knitr).

Les instructions pour configurer polymode + rmarkdown sont dans le README

Ce n'est pas encore fait, mais progresse. Voir aussi cette discussion sur la liste de diffusion ess-help ( archive gmane | archive de la liste de diffusion )


Mise à jour: polymode a été publié sur MELPA, simplifiant le processus d'installation en utilisant le mécanisme de package existant d'emacs. Voir annonce sur la liste de diffusion ESS ici .

31
Brian Diggs

Téléchargez le Zip pour polymode depuis github.com/vitoshka/polymode ou, si vous êtes un "git guy", vous pouvez utiliser:

git clone https://github.com/vitoshka/polymode.git

Ajoutez cette fonction à votre fichier init Emacs:

(defun rmd-mode ()
  "ESS Markdown mode for rmd files"
  (interactive)
  (setq load-path 
    (append (list "path/to/polymode/" "path/to/polymode/modes/")
        load-path))
  (require 'poly-R)
  (require 'poly-markdown)     
  (poly-markdown+r-mode))

Maintenant, si vous avez déjà installé ESS, ouvrez simplement votre fichier rmd et tapez Meta-Xrmd-mode et regardez la beauté d'Emacs.

Mise à jour pour les utilisateurs MELPA

polymode de MELPA utilise une structure de fichiers plate . Lorsque vous installez à partir d'un référentiel Emacs via M-x list-packages ou des installations similaires, vous obtenez vos fichiers de package directement là où ils devraient être, à savoir: (expand-file-name "~/.emacs.d/elpa"), donc commentez ce qui précède load-path code:

;;  (setq load-path 
;;      (append (list "path/to/polymode/" "path/to/polymode/modes/")
;;          load-path))
20
antonio

Les autres réponses sont plutôt obsolètes et polymode fournit désormais un package spécialisé pour travailler avec .Rmd des dossiers. Utilisez simplement le poly-R package de MELPA qui a son source ici sur Github.

Les éléments suivants peuvent être ajoutés à votre init.el ou partout où vous utilisez use-package:

(use-package poly-R
  :ensure t
  :pin melpa-stable)

Pour un cas d'utilisation plus détaillé impliquant la modification des images clés par défaut, voir cette configuration . la documentation décrit les keymaps par défaut.

1
HaoZeke