knitr Markdown在Emacs中突出显示?

在Emacs中打开时,是否有对现有工具或新工具进行任何修改,这些工具会在Knitr Markdown文档中语法高亮(颜色)的R代码块?

我正在看的针织大块是三重反衬块[```] ,里面含有R代码。

编辑:我到目前为止的事情:

– 带Emacs 23的Ubuntu 12.04

 emacs --version GNU Emacs 23.3.1 

1. Polymode

https://github.com/vitoshka/polymode/issues/3

我试图让polymode语法高亮我的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) 

EVAL-缓冲:

 Cannot open load file: color 

– CentOS与Emacs 24:

 emacs --version GNU Emacs 24.2.1 

1. Polymode安装正确

打开一个Rmd文件, Mx polymode-minor-mode polymode Mx polymode-minor-mode ,不改变语法高亮。


 emacs --version GNU Emacs 24.3.1 

1. Polymode安装正确

打开一个Rmd文件, Mx poly-markdown+r-mode ,一些语法突出显示开始出现,但是我需要在每个triple-tick代码块中手动修改testing,以充分显示语法。

在这里输入图像说明

在这里输入图像说明

第二个图像是在针织块之前inputReturn之后的。

这可能有帮助: http : //sjp.co.nz/posts/emacs-ess-knitr/

在Emacs中通过ESS编织Markdown

你的问题

首先,你说你有GNU Emacs 23.3.1,但是在readme.md ,它是这样写的:

用Emacs 24.3.1和24.4.5testing。

至于你的错误:“无法打开加载文件:颜色”,在polymode.el ,有这样的行:

 (require 'color) 

这个软件包在Emacs 24中,但是在你的版本中可能会错过。

  1. 升级到Emacs的最新(因此支持)版本。

  2. 将polymode.zip解压到保留Emacs材质的目录中,例如:

     ~\conf\emacs 

并将生成的polymode-master dir更改为polymode

  1. 在你的init文件中join这个(如果你使用了上面的不同的名字,相应地改变下面的名字):

     ;; 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. 当Rmd文件被打开或在<!-- Local Variables: -->设置模式时, Meta + rmd
    …享受生产力的巨大变化

PS
不要忽略最后的elisp线。 这将允许正确保存降价。 否则,当你重新打开你的文档,你会有不愉快的意外。

给Windows用户的一个注释

如果你是一个Linux的家伙,跳过这个,但是,尽pipe提到Ubuntu的问题,我的答案也适用于Windows Emacs。 只是关于:

  • 第2步)你将提取polymode.zip在:

     %USERPROFILE%\conf\emacs 

    正如你所猜测的,环境variables%USERPROFILE%包含你的用户configuration文件目录的path。 如果您不确定它是什么,请在CLI提示符下执行set USERPROFILE
    作为一个Windows用户,您可能会将其用于存储“ My Documents 。 在这种情况下,你的目标是:

     %USERPROFILE%\Documents\conf\emacs 
  • 步骤3)如果在步骤2)中使用了path%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"))