自定义 emacs 语法着色

Ten*_*esh 1 syntax emacs highlighting

我不知道如何将 emacs 设置为仅使用两种颜色,一种用于注释,另一种用于所有语言模式的常规代码。当然,除了对第二种颜色的注释之外,还可以设置每个块的颜色,但我不确定所有可用的块是什么。

到目前为止,我发现的只是 (setq-default global-font-lock-mode nil) 但这也杀死了注释的着色。

我想这对于久经考验的 emacs 战士来说一定相当容易。

eve*_*_jr 5

请参阅愤怒的水果沙拉维基页面来清除字体锁定面孔。您可以稍微修改代码以免除注释。

如果您确实必须删除所有颜色,则此代码将为除警告和注释之外的所有面孔执行此操作:

(defun decolorize-font-lock ()
  "remove all colors from font-lock faces except comment and warning"
  (let ((fg (face-attribute 'default :foreground))
        (bg (face-attribute 'default :background)))
    (mapc (lambda (face)
            (when face
              (set-face-attribute face nil
                                  :foreground fg
                                  :background bg)))
          (mapcar (lambda (f)
                    (if (and (string-match "^font-lock" (symbol-name f))
                             (not (string-match "-comment\\|-warning" (symbol-name f))))
                        f
                      nil))
                  (face-list)))))

(decolorize-font-lock)
Run Code Online (Sandbox Code Playgroud)