Emacs에서 열었을 때 knitr markdown 문서에서 R 코드 블록을 구문 강조 (색상)하는 기존 도구 나 새 도구를 수정 한 것이 있습니까?
내가보고있는 knitr 청크는 [```]
내부에 R 코드가 포함 된 트리플 백틱 블록 입니다.
편집 : 지금까지 시도한 것 :
– 우분투 이맥스 (23) 12.04
emacs --version
GNU Emacs 23.3.1
1. 폴리 모드
https://github.com/vitoshka/polymode/issues/3
내 Rmd 파일을 구문 강조하기 위해 폴리 모드를 얻으려고하는데 ‘색상’로드 파일에 대해 불평하고 있습니다.
cd ~/.emacs.d
git clone https://github.com/vitoshka/polymode.git
내 .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)
평가 버퍼 :
Cannot open load file: color
– CentOS는 이맥스 24 :
emacs --version
GNU Emacs 24.2.1
1. 올바르게 설치된 Polymode
M-x polymode-minor-mode
구문 강조를 변경하지 않고 Rmd 파일을 엽니 다 .
emacs --version
GNU Emacs 24.3.1
1. 올바르게 설치된 Polymode
Rmd 파일을 열면 M-x poly-markdown+r-mode
일부 구문 강조 표시가 나타나기 시작하지만 구문을 완전히 표시하려면 각 삼중 틱 코드 블록에서 테스트를 수동으로 수정해야합니다.
두 번째 이미지는 knitr 블록 앞에 Return을 입력 한 직후입니다.
답변
답변
너의 문제
우선, GNU Emacs 23.3.1이 있다고 말하지만에서는 다음 polymode
readme.md
과 같이 읽습니다.
Emacs 24.3.1 및 24.4.5로 테스트되었습니다.
오류 : “로드 파일을 열 수 없음 : 색상”,에 polymode.el
다음 행이 있습니다.
(require 'color)
이 패키지는 Emacs 24에 있지만 귀하의 버전에서는 놓칠 수 있습니다.
해결책
-
최신 (따라서 지원되는) 버전의 Emacs로 업그레이드하십시오.
-
Emacs 자료를 보관하는 디렉토리에서 polymode.zip 을 추출합니다 . 예 :
~\conf\emacs
결과 polymode-master
디렉토리를 다음으로 변경하십시오.polymode
-
init 파일에 이것을 추가하십시오 (위에서 다른 이름을 사용한 경우 그에 따라 아래 이름을 변경하십시오).
;; 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
Rmd 파일이 열려 있거나 모드를<!-- Local Variables: -->
…로 설정하면 생산성의 극적인 변화를 즐길 수 있습니다.
추신
: 마지막 elisp 줄을 간과하지 마십시오. 마크 다운을 제대로 저장할 수 있습니다. 그렇지 않으면 문서를 다시 열 때 불쾌한 놀라움이 생깁니다.
Windows 사용자를위한 참고 사항
당신이 리눅스 사람이라면 이것을 건너 뛰십시오. 그러나 Ubuntu에 대한 질문에도 불구하고 내 대답은 Windows Emacs에도 완벽하게 적용됩니다. 다음과 관련하여 :
-
2 단계) 다음 위치에서 polymode.zip 을 추출합니다 .
%USERPROFILE%\conf\emacs
예상대로 환경 변수 % USERPROFILE %에는 사용자 프로필 디렉터리의 경로가 포함됩니다. 그것이 무엇인지 확실하지 않은 경우
set USERPROFILE
CLI 프롬프트에서 실행하십시오 .
Windows 사용자는My Documents
. 이 경우 귀하의 디렉토리는 다음과 같습니다.%USERPROFILE%\Documents\conf\emacs
-
3 단계) 2) 단계에서 경로를 사용한 경우 다음에서
%USERPROFILE%\Documents\conf\emacs
첫 번째 코드 줄을 적절하게 변경합니다.(setq MY-EMACS "~/conf/emacs")
~ (슬래시에 유의) :
(setq MY-EMACS "~/Documents/conf/emacs")
두 경우 모두 ( “내 문서”포함 및 제외) 더 많은 Windows 스타일을 선호 할 수 있습니다.
(setq MY-EMACS (substitute-in-file-name "$USERPROFILE/Documents/conf/emacs"))