使用emacs为文本显示着色

时间:2010-09-21 19:10:35

标签: emacs elisp

我有一个日志文件,其中包含大量标记信息,即“错误”,“警告”,“***”。我想根据标记信息显示不同颜色/字体的日志信息。 我怎样才能做到这一点?

我是否必须提出自己的主要/次要模式?是否有一些我可以重用的elisp代码?

3 个答案:

答案 0 :(得分:5)

您可以通过以下方式进行交互式操作:

M-s h r regexp <RET> FACE <RET>

C-x w h regexp <RET> FACE <RET>

请参阅Interactive Highlighting的文档。 注意:第二个键绑定仅在您通过 M-x global-hi-lock-mode 打开Hi-Lock模式后才可用。

如果你想设置一个次要模式来定期执行此操作,我会查看fixme-mode并从那里修改内容。

阅读手册的Faces部分以了解正在发生的事情可能会有用。

答案 1 :(得分:4)

Generic Mode旨在简化为此类内容创建简单的自定义模式。

答案 2 :(得分:3)

您可以在关注模式的钩子中使用类似的功能:

(defun add-watchwords ()
  (font-lock-add-keywords
   nil '(("\\<\\(FIX\\|TODO\\|FIXME\\|HACK\\|REFACTOR\\):"
          1 font-lock-warning-face t))))

我明显使用它来编码模式,所以你应该调整你想要突出显示的项目。