我每天都使用emacs,但我不是一个lisp专家。如何根据第一个字符定义一个简单的模式来为缓冲区中的线条着色?
e.g。如果它是'p'则文本为绿色,如果是'i'则文本为红色。 ......我有大约六个我想要定义的规则。
此模式仅适用于非常特定的文本文件,我显然在其他情况下不需要功能!
谢谢,
答案 0 :(得分:1)
感谢aartist,这就是我最终的目标
(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)))