在Emacs orgmode中,#+begin_src块内的语法高亮显示不起作用。

42

我尝试过很多不同的语言并复制了各种示例,但是我的orgmode中的代码块没有语法高亮显示。这是我正在尝试的:

#+begin_src python

def main():
  print "Hello %s" % ("what's the problem")

#+end_src

#+begin_src c++

for (int i = 0; i < 30; i++) 
{
  cout << "Hello" << endl;
}

#+end_src
当导出为HTML时,它会出现在源代码块中,但是那里也没有任何高亮显示。我正在使用最新的org(7.8.10)。我是否漏掉了什么?
2个回答

70

你有这个吗?

(setq org-src-fontify-natively t)

6
关于HTML导出方面,我添加了htmlize.el (在此处下载)以便从org-mode导出时得到CSS规则的着色。That was it, thanks. - danske
我相信在较新版本的Emacs中,您也可以使用M-x htmlfontify-buffer而不是htmlize.el。 - vitaly

5

我遇到了类似的问题,尽管已经添加了htmlize.el,但在导出为html时仍无法获得代码语法高亮。后来我发现了这篇非常有用的文章并按照以下步骤操作:

在WordPress中使用Emacs语法高亮R代码

重申一下步骤:

  1. 将htmlize.el复制到~/.emacs.d/目录中
  2. 在org mode中键入M-x byte-compile-file并导航到htmlize.el所在的目录,选择它并按Enter。这将编译htmlize.el文件。
  3. 重启emacs并导出带有代码块的文件。导出的html文件现在将具有语法高亮的代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接