我可以通过执行以下操作轻松添加我想要突出显示的关键字,例如 lisp-interaction-mode :
(font-lock-add-keywords 'lisp-interaction-mode '(("foo" (0 '(font-lock-warning-face)))))
一旦我(重新)在lisp-interaction-mode中打开任何缓冲区,就会启动。
但是我无法弄清楚如何在ansi-term缓冲区中使用 font-lock-add-keywords 。
我不知道我的模式是否错误,或者是否存在关于术语/ ansi-term缓冲区的“特殊”内容会妨碍上述工作。
我尝试使用“term-mode”,这显然是ansi-term使用的主要模式,但它似乎不起作用。
如何在 ansi-term 中使用 font-lock-add-keywords ?
答案 0 :(得分:0)
这应该有效:
(defun highlight-foo ()
(font-lock-add-keywords
nil ;; putting nil here adds the keywords only to the current buffer
'(("foo" 0 font-lock-warning-face))))
(add-hook 'term-mode-hook 'highlight-foo)
但请注意,虽然此font-lock-mode
处于活动状态,但常规ANSI转义序列不会对终端中的颜色产生任何影响(例如ls
的输出不会着色)。