为emacs中的文本片段着色

为emacs中的文本片段着色,emacs,Emacs,假设我有几个单词要突出显示,所以我只想将这些单词的颜色更改为绿色 在emacs中有没有一种简单的方法可以做到这一点 谢谢。这就是我所做的,使用字体锁定添加关键字。我想突出显示代码中的单词TODO:、HACK:、和FIXME: (defface todo-face '((t ())) "Face for highlighting comments like TODO: and HACK:") (set-face-background 'todo-face cyan-name) ;; Add k

假设我有几个单词要突出显示,所以我只想将这些单词的颜色更改为绿色

在emacs中有没有一种简单的方法可以做到这一点


谢谢。

这就是我所做的,使用
字体锁定添加关键字。我想突出显示代码中的单词
TODO:
HACK:
、和
FIXME:

(defface todo-face
'((t ()))
"Face for highlighting comments like TODO: and HACK:")

(set-face-background 'todo-face cyan-name)

;; Add keywords we want highlighted
(defun add-todo-to-current-mode ()
    (font-lock-add-keywords nil
       '(("\\(TODO\\|HACK\\|FIXME\\):" 1 'todo-face prepend))
       t))

使用函数
font-lock add keywords
为相关字符串定义一个新的匹配器,将该匹配器绑定到将显示为绿色的字符串。例如:

(font-lock-add-keywords nil
  '("\\<foo\\>" 0 my-green-face))
(字体锁定添加关键字无)
“(“\\”0我的绿脸))

请注意,您可以指定我在上面编写的
nil
的特定模式,匹配表单可以采用六种不同样式中的任意一种。有关规则和一些示例,请参见。

如果您只想暂时突出显示它们,我发现
M-x highlight regexp
命令非常有用,它特别适合查看各种日志文件。例如,您创建了一个日志类,当函数运行时,它会输出一些跟踪信息,如
MyClass::function()>
,而
MyClass::function()我使用Dimitri建议的方法。特别是,我在.emacs中有以下两行代码

(global-hi-lock-mode t)
(global-set-key (kbd "C-M-h") 'highlight-regexp)

每次我需要突出显示缓冲区中的某个单词(或正则表达式),我都会点击“C-M-h”,然后提示我输入要以不同方式显示的单词(或正则表达式),然后让一个面显示它。

突出显示包有
hlt highlight regexp区域
hlt highlight regexp结束
,你想做什么就做什么


使用库。可以使用覆盖或文字特性。您可以永久保存突出显示,也可以将其设置为临时。您可以通过多种方式高亮显示(regexp、鼠标拖动等)。有很多可能性。

这将是正确的方法,而不是对字体锁定设置进行黑客攻击,特别是对于快速和肮脏的临时突出显示。