2012-03-08 3 views
1

emacsを、2つの色だけを使用するように設定する方法はわかりません。一つはコメント用、もう一つはすべての言語モードの正規コード用です。 もちろん、コメント以外の各ブロックの色を2番目の色に設定する可能性はありますが、使用可能なすべてのブロックが何であるかわかりません。emacsのシンタックスカラーリングをカスタマイズする

今まで私が見つけたのは (setq-defaultグローバルフォントロックモードnil) ですが、これもコメント用の色づけをしません。

これは、時間を経て証明されたemacsの戦士にとってはかなり簡単なことでしょう。

答えて

4

angry fruit salad wikiページを参照して、フォントロックフェイスを洗い流してください。コメントを除外するためにコードを少し修正することができます。

あなたは本当にこのコードは警告を除くすべての面のためにそれを行うと、コメントするすべての色を取り外す必要がある場合:

(defun decolorize-font-lock() 
    "remove all colors from font-lock faces except comment and warning" 
    (let ((fg (face-attribute 'default :foreground)) 
     (bg (face-attribute 'default :background))) 
    (mapc (lambda (face) 
      (when face 
       (set-face-attribute face nil 
            :foreground fg 
            :background bg))) 
      (mapcar (lambda (f) 
        (if (and (string-match "^font-lock" (symbol-name f)) 
          (not (string-match "-comment\\|-warning" (symbol-name f)))) 
         f 
         nil)) 
        (face-list))))) 

(decolorize-font-lock) 
+0

うわー、これはうまくいった!私は今、このコードを変更して、すべてのフォントの重量の違いをなくしています。私はコードからコメントを伝えることができればいいだけです。 – Tentresh

+0

upvoteと "受け入れる"に喜んでください。ありがとうございました。また来てね。 –

+0

受理されました。これは私の最初の質問とstackoverflowの最初の日ですので、upvoteできません。 – Tentresh

0

color-themeは言語に依存しない方法で着色構文や窓を定義するための便利な「フレームワーク」であります。

初心者の方がハッキングするのと同じくらい簡単です。それらの典型的な一歩は次のようになります:

(font-lock-builtin-face ((t (:foreground "#000080")))) 
(font-lock-keyword-face ((t (:bold t :foreground "#000080")))) 
(font-lock-function-name-face ((t (:foreground "#000080")))) 
(font-lock-variable-name-face ((t (:bold t :foreground "#000080")))) 
(font-lock-string-face ((t (:foreground "#177A12")))) 
(font-lock-comment-face ((t (:italic t :foreground "#716F6F")))) 
(font-lock-constant-face ((t (:italic t :foreground "#660E7A")))) 
(font-lock-doc-string-face ((t (:foreground "DarkOrange")))) 
関連する問題