我每天都在使用emacs,但我不是lisp专家。如何定义一个简单的模式来根据第一个字符对缓冲区中的行进行着色?
例如,如果是“p”,则文本是绿色的;如果是“i”,则文本是红色的。..。我有大约六个规则想要定义。
这种模式只适用于一个非常具体的文本文件,在其他情况下我显然不需要功能!
谢谢,
发布于 2018-06-14 06:41:56
感谢一位艺术家,这是我最终得到的结果。
(defface mymode-q '((t :foreground "red" )) "" )
(defface mymode-p '((t :foreground "green" )) "" )
(defface mymode-i '((t :foreground "yellow" )) "" )
(defface mymode-r '((t :foreground "blue" )) "" )
(defface mymode-c '((t :foreground "orange" )) "" )
(defface mymode-x '((t :foreground "grey50" )) "" )
(setq mymode-highlights '(
("^q .*$" . 'mymode-q)
("^p .*$" . 'mymode-p)
("^i .*$" . 'mymode-i)
("^r .*$" . 'mymode-r)
("^c .*$" . 'mymode-c)
("^x .*$" . 'mymode-x)
))
(define-derived-mode mymode-mode text-mode "mymode" "major mode mymode."
(setq font-lock-defaults '(mymode-highlights)))
https://stackoverflow.com/questions/50816812
复制相似问题