Y a-t-il une modification d'un outil existant ou d'un nouvel outil qui mettra en évidence la syntaxe (couleur) des blocs de code R dans un document de démarque knitr lorsqu'il est ouvert dans Emacs?
Les morceaux de knitr que je regarde sont des blocs à triple réticule [```]
contenant du code R à l'intérieur.
EDIT: les choses que j'ai essayées jusqu'à présent:
bunt 12.04 avec Emacs 23
emacs --version
GNU Emacs 23.3.1
1. Polymode
https://github.com/vitoshka/polymode/issues/
J'essaie d'obtenir le polymode pour mettre en évidence la syntaxe de mes fichiers Rmd, mais il se plaint d'un fichier de chargement "couleur":
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
Dans mon fichier .emacs:
(add-to-list 'load-path "/home/avilella/.emacs.d/polymode/")
(add-to-list 'load-path "/home/avilella/.emacs.d/polymode/modes/")
;; Require any polymode bundles that you are interested in:
(require 'poly-R)
(require 'poly-markdown)
eval-buffer:
Cannot open load file: color
CentOS avec Emacs 24:
emacs --version
GNU Emacs 24.2.1
1. Polymode installé correctement
Ouvrez un fichier Rmd, M-x polymode-minor-mode
, aucune modification de la coloration syntaxique.
emacs --version
GNU Emacs 24.3.1
1. Polymode installé correctement
Ouvrez un fichier Rmd, M-x poly-markdown+r-mode
, une partie de la coloration syntaxique commence à apparaître, mais je dois modifier manuellement le test dans chaque bloc de code à triple tick pour qu'il affiche complètement la syntaxe.
La deuxième image est juste après avoir tapé un retour avant le bloc knitr.
Cela pourrait aider: http://sjp.co.nz/posts/emacs-ess-knitr/
Démarque Knitr dans Emacs via ESS
Tout d'abord, vous dites que vous avez GNU Emacs 23.3.1, mais dans polymode
readme.md
, ça lit:
Testé avec Emacs 24.3.1 et 24.4.5.
Quant à votre erreur: "Impossible d'ouvrir le fichier de chargement: couleur", dans polymode.el
, il y a la ligne:
(require 'color)
ce paquet est dans Emacs 24, mais il pourrait bien manquer dans votre version.
Mettez à niveau vers une version récente (donc prise en charge) d'Emacs.
Extraire le polymode.Zip dans un répertoire où vous conservez le matériel Emacs, par exemple:
~\conf\emacs
et modifiez le polymode-master
dir à polymode
Ajoutez ceci dans votre fichier init (et si vous avez utilisé des noms différents ci-dessus, changez les noms ci-dessous en conséquence):
;; Just an Emacs personal dir containing polymode packages etc.
(setq MY-EMACS "~/conf/emacs")
(defun my-emacs (subfolder)
"Get path to personal dir + subfolder"
(concat (expand-file-name MY-EMACS) "/" subfolder))
;; ESS Markdown
;; -------------
(defun rmd-mode ()
"ESS Markdown mode for rmd files"
(interactive)
(setq load-path
(append (list (my-emacs "polymode/")
(my-emacs "polymode/modes/"))
load-path))
(require 'poly-R)
(require 'poly-markdown)
(poly-markdown+r-mode))
;; Wrap line in markdown. Comment if you don't dislike words cut in the middle
(add-hook 'markdown-mode-hook (lambda () (visual-line-mode 1)))
;; Let you use markdown buffer easily
(setq ess-nuke-trailing-whitespace-p nil)
Meta+ rmd
lorsque le fichier Rmd est ouvert ou définissez le mode dans <!-- Local Variables: -->
... profitez d'un changement spectaculaire de votre productivité.
[~ # ~] ps [~ # ~]
Ne négligez pas la dernière ligne Elisp. Cela permettra d'enregistrer correctement la démarque. Sinon, lorsque vous rouvrirez votre doc, vous aurez de mauvaises surprises.
Ignorez ceci si vous êtes un gars Linux, mais, malgré la question mentionnant Ubuntu, ma réponse s'applique également parfaitement à Windows Emacs. En ce qui concerne:
Étape 2) Vous allez extraire polymode.Zip dans:
%USERPROFILE%\conf\emacs
Comme vous le devinez, la variable d'environnement% USERPROFILE% contient le chemin d'accès à votre répertoire de profil utilisateur. Si vous n'êtes pas sûr de ce que c'est, exécutez set USERPROFILE
dans l'invite CLI.
En tant qu'utilisateur Windows, vous pourriez être utilisé pour stocker des choses dans My Documents
. Dans ce cas, votre dir sera:
%USERPROFILE%\Documents\conf\emacs
Étape 3) Si à l'étape 2) vous avez utilisé le chemin %USERPROFILE%\Documents\conf\emacs
, modifiez en conséquence la première ligne de code de:
(setq MY-EMACS "~/conf/emacs")
à (noter les barres obliques):
(setq MY-EMACS "~/Documents/conf/emacs")
Dans les deux cas (avec et sans "Mes documents"), vous préférerez peut-être le style plus Windows:
(setq MY-EMACS (substitute-in-file-name "$USERPROFILE/Documents/conf/emacs"))