与问题相关:org-mode: fontify code blocks natively
截至2012年11月1日,我已获得最新的org-mode和emacs版本(org-20121105中存储的组织版本)。
我还得到了emacs-24附带的sql-mode。
我已经变成了一个人:
;; fontify code in code blocks
(setq org-src-fontify-natively t)
然而,在我的组织文件中,这并不能说明问题。 Java,bash等都可以工作。
#+BEGIN_SRC SQL
SELECT foo FROM bar
#+END_SRC
当我打开文件foobar.sql时,模式指示符显示SQL [ANSI](我也尝试作为源类型),并且字体锁定有效。
提前感谢任何提示。
答案 0 :(得分:8)
首先,SRC块模式的名称区分大小写。它应该是sql
而不是SQL
。
#+BEGIN_SRC sql
SELECT foo FROM bar
#+END_SRC
其次,sql-mode接缝的初始字体锁定不是为了突出显示SQL关键字,(至少对我而言,无论你打开还是关闭它都没有区别)。因此,您需要指定要突出显示的SQL类型。例如,如果您使用MySQL:
(add-hook 'sql-mode-hook
(lambda ()
(sql-highlight-mysql-keywords)))
然后重新启动Emacs 。它现在应该工作。
答案 1 :(得分:2)
哦,等等,尝试将#+BEGIN_SRC sql
放在小写字母中。有关标识符,请参阅here。
尝试刷新显示块,方法是重新组合块(中断语法和撤消或其他内容)。它经常发生在python或bibtex块上,但这解决了它。
我无法理解为什么当你 C-c'找到合适的模式时,它不会内联。
另外,我害怕fontification,而作为org-mode的一个更好的功能,并不完全处理。来自the mailing list:
fontification引擎不是很强大,很容易被愚弄。