Emacs org-mode 带有 Java 语法高亮?

Emacs org-mode with Java syntax highlighting?

我想使用 Emac 的组织模式来记录 java 个片段。 我希望突出显示 java 片段的语法。

我尝试了 运行ning Org-mode 次要模式和 Java-mode 主要模式,但我发现它缺少很多 Org-Mode 功能(例如链接)。 我更喜欢在主要模式下使用 运行 Org-mode 并在找到 java 语法时使用一些次要模式来执行 java 语法高亮。

我宁愿避免 #+begin_src 业务,因为我的文件中充满了这些业务。

这可能吗?

[Edit] 正在考虑 none 标题和非 org-items 的软语法突出显示。即一般段落 body?

据我所知,在 Org 模式中支持语法高亮代码块的唯一机制是您已经提到的 source code block 功能。

org-src-fontify-natively 设置为 t 应为此类块启用语法突出显示:

(setf org-src-fontify-natively t)

代码块应如下所示:

* Pretty sweet Org heading

  This is an org-mode file, which is cool for lots of reasons, e.g.

  - it's Emacs, and
  - it supports syntax-highlighted blocks
    - (note that this requires the variable ~org-src-fontify-natively~
      to be set to ~t~)

#+BEGIN_SRC java
  public class HelloWorld {
      public static void main(String[] args) {
          System.out.println("Hello, World");
      }
  }
#+END_SRC

一些提示:

  • 开始新代码块的最快方法是type <s and then hit Tab。这扩展为

    #+BEGIN_SRC |
    
    #+END_SRC
    

    使用 | 表示的光标,因此您只需键入 java 即可开始编辑。

  • 在这样的块内点,org-edit-special, bound to C-c ' by default 将在单独的缓冲区中打开代码块,并激活适当的主要模式。您可以使用该模式的全部功能,然后再次键入 C-c ' 以更新嵌入的代码段。