在 Emacs 中打开 knitr markdown 文档时,是否对现有工具或新工具进行了语法高亮(颜色)R 代码块的修改?
我正在查看的 knitr 块是三重反引号块 [```]
,其中包含 R 代码。
编辑:到目前为止我尝试过的事情:
- Ubuntu 12.04 与 Emacs 23
emacs --version
GNU Emacs 23.3.1
1. 多模
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)
评估缓冲区:
Cannot open load file: color
- CentOS 使用 Emacs 24:
emacs --version
GNU Emacs 24.2.1
1.正确安装多模
打开一个 Rmd 文件,M-x polymode-minor-mode
,语法高亮没有变化。
emacs --version
GNU Emacs 24.3.1
1.正确安装多模
打开一个 Rmd 文件,M-x poly-markdown+r-mode
,开始出现一些语法高亮显示,但我需要手动修改每个三引号代码块中的测试,以使其完全显示语法。
https://i.stack.imgur.com/bHbBY.png
https://i.stack.imgur.com/a6pVA.png
第二张图片是在 knitr 块之前键入 Return 之后。
polymode
怎么样:github.com/vitoshka/polymode
你的问题
首先,您说您拥有 GNU Emacs 23.3.1,但在 polymode
readme.md
中,它显示:
使用 Emacs 24.3.1 和 24.4.5 测试。
至于您的错误:“无法打开加载文件:颜色”,在 polymode.el
中有一行:
(require 'color)
这个包在 Emacs 24 中,但它可能会在你的版本中丢失。
解决方案
升级到 Emacs 的最新(因此受支持)版本。将 polymode.zip 解压到保存 Emacs 材料的目录中,例如:~\conf\emacs
并将生成的 polymode-master
目录更改为 polymode
将此添加到您的初始化文件中(如果您在上面使用了不同的名称,请相应地更改下面的名称):;;只是一个包含 polymode 包等的 Emacs 个人目录。 (setq MY-EMACS "~/conf/emacs") (defun my-emacs (subfolder) "Get path to personal dir + subfolder" (concat (expand-file-name MY- EMACS) "/" 子文件夹)) ;; ESS 降价;; ------------- (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)) ;;在降价中换行。如果你不喜欢中间被剪掉的单词,请评论 (add-hook 'markdown-mode-hook (lambda () (visual-line-mode 1))) ;;让你轻松使用 Markdown 缓冲区 (setq ess-nuke-trailing-whitespace-p nil) Meta+rmd 当 Rmd 文件打开或在 中设置模式 ... 享受戏剧性改变你的生产力。
PS 不要忽略最后一条 elisp 行。它将允许正确保存降价。否则,当您重新打开文档时,您会遇到令人不快的意外。
致 Windows 用户的注意事项
如果您是 Linux 人,请跳过此步骤,但是,尽管问题提到了 Ubuntu,但我的回答也完全适用于 Windows Emacs。只是关于:
第 2 步)您将提取 polymode.zip 到:%USERPROFILE%\conf\emacs 如您所料,环境变量 %USERPROFILE% 包含您的用户配置文件目录的路径。如果您不确定它是什么,请在 CLI 提示符下执行 set USERPROFILE。作为 Windows 用户,您可能习惯于在“我的文档”中存储内容。在这种情况下,您的目录将是:%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"))
不定期副业成功案例分享
(setq ess-swv-processor 'knitr)
即可。