2008-11-06 61 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))) 
相關問題