Gibt es eine Änderung an einem vorhandenen oder neuen Werkzeug, mit der R-Code-Blöcke in einem Knitr-Markdown-Dokument beim Öffnen in Emacs syntaktisch hervorgehoben (farbig) werden?
Die Knitr Chunks, die ich betrachte, sind Triple-Backtick-Blöcke [```]
, die R-Code enthalten.
EDIT: Dinge, die ich bisher versucht habe:
- Ubuntu 12.04 mit Emacs 23
emacs --version
GNU Emacs 23.3.1
1. Polymode
https://github.com/vitoshka/polymode/issues/3
Ich versuche, Polymode dazu zu bringen, meine Rmd-Dateien syntaktisch hervorzuheben, aber es beschwert sich über eine 'Farb'-Ladedatei:
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
In meiner .emacs-Datei:
(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)
Auswertungspuffer:
Cannot open load file: color
- CentOS mit Emacs 24:
emacs --version
GNU Emacs 24.2.1
1. Polymode korrekt installiert
Öffnen Sie eine Rmd-Datei, M-x polymode-minor-mode
ohne Änderungen an der Syntaxhervorhebung vorzunehmen .
emacs --version
GNU Emacs 24.3.1
1. Polymode korrekt installiert
Öffnen Sie eine Rmd-Datei, M-x poly-markdown+r-mode
und einige der Syntaxhervorhebungen werden angezeigt. Ich muss den Test jedoch in jedem Codeblock mit drei Häkchen manuell ändern, damit die Syntax vollständig angezeigt wird.
Das zweite Bild befindet sich direkt nach der Eingabe eines Return vor dem Knitr-Block.
quelle
polymode
Antworten:
Dies könnte helfen: http://sjp.co.nz/posts/emacs-ess-knitr/
Knitr-Abschlag in Emacs durch ESS
quelle
(setq ess-swv-processor 'knitr)
Fügen Sie einfach Ihre Init-Datei hinzu.Ihr Problem
Zunächst sagen Sie, Sie haben GNU Emacs 23.3.1, aber in
polymode
readme.md
heißt es:Was Ihren Fehler betrifft: "Ladedatei kann nicht geöffnet werden: Farbe", in
polymode.el
gibt es die Zeile:Dieses Paket befindet sich in Emacs 24, kann jedoch in Ihrer Version fehlen.
Lösung
Aktualisieren Sie auf eine aktuelle (daher unterstützte) Version von Emacs.
Extrahieren Sie die Datei polymode.zip in ein Verzeichnis, in dem Sie Emacs-Material aufbewahren, z.
und ändern Sie das resultierende
polymode-master
Verzeichnis inpolymode
Fügen Sie dies in Ihre Init-Datei ein (und wenn Sie oben andere Namen verwendet haben, ändern Sie die Namen unten entsprechend):
Meta+
rmd
Wenn die Rmd-Datei geöffnet ist oder der Modus aktiviert ist,<!-- Local Variables: -->
ändert sich Ihre Produktivität dramatisch.
PS
Übersehen Sie nicht die letzte Elisp-Linie. Dadurch können Markdowns ordnungsgemäß gespeichert werden. Andernfalls werden Sie beim erneuten Öffnen Ihres Dokuments unangenehme Überraschungen erleben.
Ein Hinweis für Windows-Benutzer
Überspringen Sie dies, wenn Sie ein Linux-Typ sind, aber trotz der Frage, die Ubuntu erwähnt, gilt meine Antwort auch perfekt für Windows Emacs. Nur in Bezug auf:
Schritt 2) Sie extrahieren polymode.zip in:
Wie Sie vermuten, enthält die Umgebungsvariable% USERPROFILE% den Pfad zu Ihrem Benutzerprofilverzeichnis. Wenn Sie sich nicht sicher sind, was es ist, führen Sie es
set USERPROFILE
in der CLI-Eingabeaufforderung aus.Als Windows-Benutzer können Sie zum Speichern von Dingen verwendet werden
My Documents
. In diesem Fall lautet Ihr Verzeichnis:Schritt 3) Wenn Sie in Schritt 2) den Pfad verwendet haben
%USERPROFILE%\Documents\conf\emacs
, ändern Sie die erste Codezeile entsprechend von:zu (beachten Sie die Schrägstriche):
In beiden Fällen (mit und ohne "Eigene Dateien") bevorzugen Sie möglicherweise den Windows-Stil:
quelle