【问题标题】:Simplest Emacs syntax highlighting tutorial? [closed]最简单的 Emacs 语法高亮教程? [关闭]
【发布时间】:2011-04-22 16:33:25
【问题描述】:

我只想为 Emacs 创建一个语法高亮次要模式。我有 O'Reilly 的“Writing GNU Emacs Extensions”,但它没有深入细节。是否有关于真实或虚假编程语言突出显示模式的简单教程?

谢谢

【问题讨论】:

  • @dmckee:我认为这不是那个问题的重复。确实,那里的一些答案在某种程度上涵盖了这个主题。您最好链接到您认为可以回答此问题的任何内容,而不是表示此 question 与主要模式 question 重复。

标签: emacs elisp emacs23 xemacs


【解决方案1】:

定义一个自定义的Generic Mode 可能是最好的起点。您可以像以下 sn-p 一样简单地定义一种语言的基本语法突出显示。

(require 'generic-x)

(define-generic-mode 
  'my-mode                          ;; name of the mode
  '("//")                           ;; comments delimiter
  '("function" "var" "return")      ;; some keywords
  '(("=" . 'font-lock-operator) 
    ("+" . 'font-lock-operator)     ;; some operators
    (";" . 'font-lock-builtin))     ;; a built-in 
  '("\\.myext$")                    ;; files that trigger this mode
   nil                              ;; any other functions to call
  "My custom highlighting mode"     ;; doc string
)

它非常适合为晦涩的语言快速定义一些基本的语法突出显示。在某些情况下,我什至将它用于日志文件。

【讨论】:

  • 是否可以保存这是一个类似 my-syntax.el 的文件并在 .emacs 中添加类似 (require 'my-syntax) 的内容?谢谢
  • 您可以这样做,如果您愿意,也可以直接将其放入您的 .emacs 中。如果你把它放在一个单独的文件中,确保它在你的加载路径中,并且如果你想使用(需要'my-syntax),你在最后包含行(提供'my-syntax)。
  • @ColinCochrane 你如何将它用于日志文件?
【解决方案2】:

EmacsWiki 的Mode tutorial 提供了有关创建主要模式的更多信息,以防您只想从语法突出显示进行扩展。

【讨论】:

    【解决方案3】:

    您还可能会发现查看 this answer 很有用,它有一个指向代码的指针,该代码定义了一个次要模式以突出显示某些关键字 - 但仅限于字符串和 cmets。

    如果您想要的只是亮点,那么次要模式会更好 - 更少的行李。

    手册的相关部分是函数'font-lock-add-keywords和变量font-lock-keywords

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-26
      • 2011-02-11
      • 2015-01-02
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多