最近我开始使用 Tmux,但我注意到它会导致一个奇怪的 Emacs 故障。当我打开 elisp 或 haskell 的源代码时,注释不会突出显示。只有注释符号是(如果是 elisp,则为;如果是 haskell,则为 --)。注释行的其余部分为正常颜色。当我在 Tmux 之外运行 Emacs 时,一切都按预期运行 - 整个注释行都以表示注释的颜色突出显示。有人知道为什么会发生这种情况吗?
解决方案:根据 Stefan 的评论,我将其添加到我的 .emacs 文件中:
(custom-set-variables
(custom-set-faces
'(font-lock-comment-face ((((class color)
(min-colors 8)
(background dark))
(:foreground "red"))))))
现在注释显示为红色,就像注释分隔符一样。
答案1
这种行为是由于 Emacs 在颜色数量太有限时使用不同的配色方案。因此,造成这种差异的根本原因是 Tmux 中可用的颜色数量受到限制(我不知道为什么)。您也可以使用 更改外观M-x customize-face RET
和font-lock-comment-face
简单font-lock-command-delimiter-face
地解决这个问题。