knitr Markdown在Emacs中突出显示?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我到目前为止尝试过的东西:

- 带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

- 带Emacs 24的CentOS

emacs --version
GNU Emacs 24.2.1

1. Polymode安装正确

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

emacs --version
GNU Emacs 24.3.1

1. Polymode安装正确

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

提问于
用户回答回答于

  1. 升级到Emacs的最新版本(因此支持)。
  2. 提取polymode.zip在保存Emacs材料的目录中,例如: ~(Conf)emacs

并更改结果polymode-master polymode

  1. Add this in your init file (and if you used different names above, change names below accordingly): ;; 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当rmd-文件打开或将模式设置为<!-- Local Variables: -->...享受你工作效率的巨大变化

PS

不要忽视最后一条线。它将允许适当地保存标记。否则,当你重开你的医生,你会有不愉快的惊喜。

给Windows用户的说明

如果你是一个Linux的人,跳过这个,但是,尽管提到了Ubuntu,我的答案也完全适用于WindowsEmacs。仅就以下方面而言:

  • 第二步)提取polymode.zip在: %USERPROFILE%\CONF\emacs 正如您所猜测的,环境变量%USERPROFILE%包含指向用户配置文件目录的路径。如果您不确定是什么,请执行set USERPROFILE在CLI提示符中。 作为一个Windows用户,您可能会被用来将东西存储在My Documents...。在这种情况下,您的dir将是: %USERPROFILE%\文档\COF\emacs
  • 步骤3)如果在步骤2中使用了路径%USERPROFILE%\Documents\conf\emacs, change accordingly the first code line from: (setq MY-EMACS "~/conf/emacs") to (note the slashes): (setq MY-EMACS "~/Documents/conf/emacs") In both cases (with and without "My Documents"), you might prefer the more Windows style: (setq MY-EMACS (substitute-in-file-name "$USERPROFILE/Documents/conf/emacs"))

扫码关注云+社区