2008-11-06 65 views
9

Emacs cperl模式似乎比perl模式更困惑,但Skittles效果使我无法使用它。有没有人知道或者知道一个.emacs块的例子,它会导致cperl模式使用perl模式的彩色化,理想情况下它的形式足够清晰,我可以一次返回一个元素并返回默认颜色直到我达到我感到舒服的东西?我可以使用Perl模式着色的cperl模式吗?

特别是有一种可怕的浅绿色用于某些内建物,我发现它很难读,我更喜欢我的变量没有前导码$$$,并且这些着色的红色以及变量名称。其余大部分只是分散注意力。

回答

8

按下M-x customize-group RET cperl-faces RET并根据自己的喜好更改颜色。

0

如果您不喜欢特定的默认颜色,则可以更改color theme

+0

这没有帮助。 ColorTheme似乎改变了所有的颜色*,除了cperl模式使用的颜色之外,它不会改变前置字形的彩色化,并且看起来不是特别可配置的。但是,感谢这个想法。 – Zed 2008-11-07 16:54:05

+0

cperl模式的问题似乎完全局限于数组和散列 - 至少当我尝试使用Solarize(http://ethanschoonover.com/solarized)时,这是唯一没有覆盖颜色的区域。 – 2011-05-05 19:41:53

2

使用颜色主题时,问题仅限于数组和散列 - 事实证明,这是因为cperl模式将这些面定义为粗体重,该颜色主题似乎不会产生影响(Solarized不会影响)。

在Mac OS Emacs的23.3,下面恢复了颜色的色彩主题是如何定义他们:

(custom-set-faces 
'(cperl-array-face ((t (:weight normal)))) 
'(cperl-hash-face ((t (:weight normal)))) 
) 
1

您还可以通过与覆盖字型锁设置,请用“真实”的perl模式着色那些perl模式。

(require 'perl-mode) 

(add-hook 'cperl-mode-hook 
      (lambda() 
      (setq font-lock-defaults 
        '((perl-font-lock-keywords perl-font-lock-keywords-1 perl-font-lock-keywords-2) 
        nil nil ((?\_ . "w")) nil 
        (font-lock-syntactic-face-function . perl-font-lock-syntactic-face-function))) 
      (font-lock-refresh-defaults))) 
相关问题