繁体   English   中英

knitr Markdown在Emacs中突出显示?

[英]knitr Markdown highlighting in Emacs?

在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

我试图让alphaode语法高亮我的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文件, Mx polymode-minor-mode polymode Mx polymode-minor-mode ,不改变语法高亮。


emacs --version
GNU Emacs 24.3.1

1. Polymode安装正确

打开一个Rmd文件, Mx poly-markdown+r-mode ,一些语法高亮显示开始出现,但是我需要手动修改每个三重标记代码块中的测试,以便完全显示语法。

在此输入图像描述

在此输入图像描述

第二个图像是在knitr块之前键入Return之后。

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

通过ESS在Emacs中编织降价

你的问题

首先,你说你有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 dir更改为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. + rmd当RMD文件打开或设置模式<!-- Local Variables: -->
    ......享受生产力的巨大变化。

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

Windows用户的注释

如果你是一个Linux人员,请跳过这个,但是,尽管有问题提到Ubuntu,我的答案也完全适用于Windows Emacs。 只是关于:

  • 步骤2)您将在以下位置提取polymode.zip

     %USERPROFILE%\\conf\\emacs 

    如您所知,环境变量%USERPROFILE%包含用户配置文件目录的路径。 如果您不确定它是什么,请在CLI提示符中执行set USERPROFILE
    作为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")) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM