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中,但是在你的版本中可能会错过。
解
-
升级到Emacs的最新(因此支持)版本。
-
将polymode.zip解压到保留Emacs材质的目录中,例如:
~\conf\emacs
并将生成的polymode-master
dir更改为polymode
-
在你的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)
-
当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"))