使用emacs对文本进行着色显示

3

我有一个日志文件,里面有很多标记信息,比如“ERROR”、“WARNING”、“***”。我想根据标记信息以不同的颜色/字体显示日志信息。

我该怎么做呢?

我需要自己创建主要/次要模式吗?还是有一些elisp代码可以重用呢?


http://www.emacswiki.org/emacs/HighLight - Drew
3个回答

5

您可以通过交互方式完成此操作:

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

或者

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

请参阅交互式高亮文档注意:只有在通过M-x global-hi-lock-mode启用Hi-Lock模式后,才能使用第二个按键绑定。

如果您想定期设置一个小模式来执行此操作,建议查看fixme-mode并进行修改。

阅读手册中的“面部”章节可能会有所帮助,以理解正在发生的事情。


C-x w h在我的标准Emacs(23.1.2)中未绑定到任何命令。相反,highlight-regexp绑定到M-s h r。奇怪。 - malana
@mmmasterluke 谢谢,我没有注意到,我已经更新了答案以反映这一点。 - Trey Jackson

4

3
你可以在关心的模式中使用类似的钩子函数:
(defun add-watchwords ()
  (font-lock-add-keywords
   nil '(("\\<\\(FIX\\|TODO\\|FIXME\\|HACK\\|REFACTOR\\):"
          1 font-lock-warning-face t))))

我显然是用它来进行编码模式的,所以您应该调整您想要突出的项目。


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