Czy jest jakaś modyfikacja istniejącego narzędzia lub nowego narzędzia, które podświetla składnię (kolor) bloki kodu R w dokumencie knitr Markdown po otwarciu w Emacsie?
Fragmenty knitr, na które patrzę, to bloki z potrójnym kliknięciem wstecz, [```]
które zawierają kod R.
EDYCJA: rzeczy, które próbowałem do tej pory:
- Ubuntu 12.04 z Emacs 23
emacs --version
GNU Emacs 23.3.1
1. Polymode
https://github.com/vitoshka/polymode/issues/3
Próbuję uzyskać polymode, aby podświetlić składnie moje pliki Rmd, ale narzeka na plik ładowania `` koloru '':
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
W moim pliku .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 z Emacs 24:
emacs --version
GNU Emacs 24.2.1
1. Polymode zainstalowany poprawnie
Otwórz plik Rmd M-x polymode-minor-mode
, bez zmian w podświetlaniu składni.
emacs --version
GNU Emacs 24.3.1
1. Polymode zainstalowany poprawnie
Otwórz plik Rmd, M-x poly-markdown+r-mode
zacznie się pojawiać podświetlanie składni, ale muszę ręcznie zmodyfikować test w każdym bloku kodu z potrójnym zaznaczeniem, aby w pełni pokazał składnię.
Drugi obraz jest tuż po wpisaniu Return przed blokiem knitr.
źródło
polymode
: github.com/vitoshka/polymodeOdpowiedzi:
To może pomóc: http://sjp.co.nz/posts/emacs-ess-knitr/
Markdown Knitr w Emacs do ESS
źródło
(setq ess-swv-processor 'knitr)
plik init.Twój problem
Przede wszystkim mówisz, że masz GNU Emacs 23.3.1, ale w
polymode
readme.md
treści brzmi:Jeśli chodzi o Twój błąd: „Nie można otworzyć załadowanego pliku: kolor”, w programie
polymode.el
znajduje się wiersz:ten pakiet jest w Emacs 24, ale może go brakować w twojej wersji.
Rozwiązanie
Zaktualizuj do najnowszej (dlatego obsługiwanej) wersji Emacsa.
Wypakuj polymode.zip do katalogu, w którym przechowujesz materiał Emacsa, np .:
i zmień wynikowy
polymode-master
katalog napolymode
Dodaj to do swojego pliku init (a jeśli użyłeś innych nazw powyżej, odpowiednio zmień nazwy poniżej):
Meta+
rmd
kiedy plik Rmd jest otwarty lub ustawia tryb na<!-- Local Variables: -->
... ciesz się radykalną zmianą produktywności.
PS
Nie przegap ostatniej linii elisp. Pozwoli to odpowiednio zapisać przeceny. W przeciwnym razie, gdy ponownie otworzysz dokument, będziesz mieć niemiłe niespodzianki.
Uwaga dla użytkowników systemu Windows
Pomiń to, jeśli jesteś facetem od Linuksa, ale pomimo pytania wspomnij o Ubuntu, moja odpowiedź pasuje również idealnie do Windows Emacs. Tylko w odniesieniu do:
Krok 2) Rozpakujesz polymode.zip w:
Jak się domyślasz, zmienna środowiskowa% USERPROFILE% zawiera ścieżkę do katalogu Twojego profilu użytkownika. Jeśli nie masz pewności, co to jest, wykonaj polecenie
set USERPROFILE
w wierszu polecenia.Jako użytkownik systemu Windows możesz być używany do przechowywania rzeczy w
My Documents
. W takim przypadku Twój katalog będzie:Krok 3) Jeśli w kroku 2) korzystałeś ze ścieżki
%USERPROFILE%\Documents\conf\emacs
, zmień odpowiednio pierwszą linię kodu z:do (zwróć uwagę na ukośniki):
W obu przypadkach (z opcją „Moje dokumenty” i bez niej) możesz preferować bardziej stylowy system Windows:
źródło