哇!谢谢,我认为这是不可能的,但后来我发现了这个:http ://www.emacswiki.org/emacs/FacesPerBuffer
只需查看 wiki 中的示例,似乎正是您所需要的:
(make-face 'php-comment-face)
(set-face-foreground 'php-comment-face "LightGrey")
(add-hook 'php-mode-hook
(lambda ()
;; ...
(set (make-local-variable 'font-lock-comment-face)
'php-comment-face)
;; ...
感谢相关的这个问题:Set Emacs defaut font face per-buffer/mode
UPD
要赢得 cc 模式绑定,您应该将(add-hook csharp-mode-hook ...
after放在后面(add-hook c-mode-hook ...
,如下所示:
(make-face 'c-comment-face)
(set-face-foreground 'c-comment-face "Red")
(add-hook 'c-mode-hook
(lambda ()
;; ...
(set (make-local-variable 'font-lock-comment-face)
'c-comment-face)))
(make-face 'cs-comment-face)
(set-face-foreground 'cs-comment-face "Blue")
(add-hook 'csharp-mode-hook
(lambda ()
;; ...
(set (make-local-variable 'font-lock-comment-face)
'cs-comment-face)))
如果您在单独的文件中有挂钩代码,则应在 c-mode 之后加载 csharp-mode 设置。别忘了(remove-hook ...
试试这个。