[r] Emacs의 knitr Markdown 강조?

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을 입력 한 직후입니다.



답변

도움이 될 수 있습니다 : http://sjp.co.nz/posts/emacs-ess-knitr/

ESS를 통한 Emacs의 Knitr Markdown


답변

너의 문제

우선, GNU Emacs 23.3.1이 있다고 말하지만에서는 다음 polymode readme.md과 같이 읽습니다.

Emacs 24.3.1 및 24.4.5로 테스트되었습니다.

오류 : “로드 파일을 열 수 없음 : 색상”,에 polymode.el다음 행이 있습니다.

(require 'color)

이 패키지는 Emacs 24에 있지만 귀하의 버전에서는 놓칠 수 있습니다.

해결책

  1. 최신 (따라서 지원되는) 버전의 Emacs로 업그레이드하십시오.

  2. Emacs 자료를 보관하는 디렉토리에서 polymode.zip 을 추출합니다 . 예 :

    ~\conf\emacs

결과 polymode-master디렉토리를 다음으로 변경하십시오.polymode

  1. 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)  
  2. Meta+ rmdRmd 파일이 열려 있거나 모드를 <!-- Local Variables: -->
    …로 설정하면 생산성의 극적인 변화를 즐길 수 있습니다.

추신
: 마지막 elisp 줄을 간과하지 마십시오. 마크 다운을 제대로 저장할 수 있습니다. 그렇지 않으면 문서를 다시 열 때 불쾌한 놀라움이 생깁니다.

Windows 사용자를위한 참고 사항

당신이 리눅스 사람이라면 이것을 건너 뛰십시오. 그러나 Ubuntu에 대한 질문에도 불구하고 내 대답은 Windows Emacs에도 완벽하게 적용됩니다. 다음과 관련하여 :

  • 2 단계) 다음 위치에서 polymode.zip 을 추출합니다 .

    %USERPROFILE%\conf\emacs

    예상대로 환경 변수 % USERPROFILE %에는 사용자 프로필 디렉터리의 경로가 포함됩니다. 그것이 무엇인지 확실하지 않은 경우 set USERPROFILECLI 프롬프트에서 실행하십시오 .
    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")) 

답변