假设我想强调一些词,所以我想将这几个词的颜色改为绿色。
在emacs中有一种简单的方法吗?
谢谢。
答案 0 :(得分:3)
这就是我使用font-lock-add-keywords
完成的工作。我想在代码中突出显示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))
答案 1 :(得分:3)
精彩集锦包含hlt-highlight-regexp-region
和hlt-highlight-regexp-to-end
,它们可以完全按照您的意愿行事。
答案 2 :(得分:2)
使用库HighLight。您可以使用叠加或文本属性。您可以永久保存突出显示或使其成为临时突出显示。您可以通过多种方式突出显示(正则表达式,鼠标拖动...)。很多可能性。
答案 3 :(得分:1)
使用函数font-lock-add-keywords
为相关字符串定义新的匹配器,将匹配器绑定到some face you've defined,并显示为绿色。例如:
(font-lock-add-keywords nil
'("\\<foo\\>" 0 my-green-face))
请注意,您可以指定我在上面编写nil
的特定模式,匹配表单可以采用六种不同样式中的任何一种。有关规则和一些示例,请参阅documentation for the variable font-lock-keywords
。
答案 4 :(得分:1)
如果你只想暂时突出显示它们,我发现M-x highlight-regexp
命令非常有用,它特别适合查看各种日志文件。例如,你自己创建了一个日志类,在运行函数时输出MyClass::function() >
之类的跟踪信息,退出时输出MyClass::function() <
(有时在调试多线程问题时尤其有用)然后你只要求emacs突出显示其中一些是绿色和其他红色,然后你可以看到执行是如何进行的。
答案 5 :(得分:0)
我使用Dimitri建议的内容。特别是,我的.emacs
中有以下两行(global-hi-lock-mode t)
(global-set-key (kbd "C-M-h") 'highlight-regexp)
每当我需要在缓冲区中突出显示某个单词(或正则表达式)时,我点击“CMh”,然后提示我输入单词(或正则表达式)我希望以不同的方式显示,然后是显示它。