在空白模式下更改字符的颜色

时间:2013-04-11 10:14:20

标签: emacs colors whitespace

我最近从Geany搬到了Emacs,我想将Emacs中的空白字符自定义为Geany中的空白字符。

对于Geany来说,圆点是微小的灰色:

Sample code with Geany

使用Emacs,点数较大且为白色:

Sample code with Emacs

我发现Geany的点在眼睛上要轻得多。

在我从.emacs文件中评论(setq whitespace-style (quote (spaces tabs newline space-mark tab-mark newline-mark)))后问题得以解决:

;; make whitespace-mode use just basic coloring
;;(setq whitespace-style (quote (spaces tabs newline space-mark tab-mark newline-mark)))
(setq whitespace-display-mappings
  ;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1)
  '(
    (space-mark 32 [183] [46]) ; 32 SPACE 「 」, 183 MIDDLE DOT 「·」, 46 FULL STOP 「.」
    (newline-mark 10 [182 10]) ; 10 LINE FEED
    (tab-mark 9 [9655 9] [92 9]) ; 9 TAB, 9655 WHITE RIGHT-POINTING TRIANGLE 「▷」
    ))

空白字符现在看起来与预期完全一样。

1 个答案:

答案 0 :(得分:12)

尝试 M-x customize-face RET whitespace-space RET

(可能以大约gray30的前景色开始,并从那里进行调整。)

在elisp中,类似于:

(set-face-attribute 'whitespace-space nil :background nil :foreground "gray30")

(可能会有一个小点,而不是你正在使用的那个,但我不知道那会是什么。)