2

ターミナルを備えたMacOS10.6でemacsを使用しています。背景は白です。

引用符で囲まれたC++文字列を読み取るのは非常に困難です。彼らは淡い緑色で登場しています。キーワードはターコイズです。

ソースを検索した後、cpp.elを調べて、cpp-face-dark-name-listの代わりにcpp-face-light-name-listを使用していると判断しました。

どうやらこの関数は背景色に基づいて正しいリストを選択することになっています:

(defcustom cpp-face-default-list nil
  "Alist of faces you can choose from for cpp conditionals.                                                           
Each element has the form (STRING . FACE), where STRING                                                               
serves as a name (for `cpp-highlight-buffer' only)                                                                    
and FACE is either a face (a symbol)                                                                                  
or a cons cell (background-color . COLOR)."
  :type '(repeat (cons string (choice face (cons (const background-color) string))))
  :group 'cpp)

しかし、それは機能していないようです。

cpp-face-light-listの代わりにcpp-face-dark-listを取得するには、.emacsファイルに何を入れる必要がありますか?

ありがとう!

4

5 に答える 5

4

私も同じ問題を抱えています。選択したテーマは常に端末で読み取れません。答えは、他の人が言っているように、カラーテーマパッケージを使用してから、ターミナルでEmacs用に1つのテーマを選択し、次のように独自のウィンドウで実行されているEmacs用に別のテーマを選択することです。

(require 'color-theme)
(setq color-theme-is-global t)
(if window-system
    (color-theme-deep-blue)   ;; Emacs in own window
    (color-theme-dark-laptop) ;; Emacs in tty
)

Emacsでは、入力M-x color-theme-Tabして利用可能なテーマのリストを取得できます。同様に、メジャーモードのフックを追加して、編集しているコードの種類に応じてカラーテーマを変更することもできます。

于 2010-05-16T19:25:04.353 に答える
3

コメントの1つで示唆されているように、カラーテーマパッケージをチェックしてください。これは、あなたのような問題に対するはるかに一般的な解決策であり、フォントの面を手動で調整するよりもはるかに簡単に使用できます。

于 2010-04-11T21:35:45.777 に答える
1

デフォルトの顔の前景を黒に、背景を白(M-x customize-group basic-faces)に明示的に設定すると、フォントロックにより、すべてが自動的に読み取れるようになります。フォントロックを読み取り可能にするのに十分なコントラストが必要な場合は、これらの2つの色だけを設定する必要があります。

私はcolortheme.elを試しましたが、特にemacs23を使用すると、読みやすくなるのではなく、読みにくくなる傾向があります。読みにくい前景/背景コンボに設定され、リセットされなかった面を復元するために、再起動する必要がありました。

于 2010-04-12T01:13:09.047 に答える
0

端末でカラーが有効になっていることを確認する価値があるかもしれません。 export TERM=xterm-256color

于 2010-04-11T18:14:44.947 に答える
0

これは別の方法であり、Emacs23以降でデーモンモードを使用する場合に特に便利です。デーモンモードを使用しているときに、グラフィカルクライアントを使用している場合と、ターミナルクライアントを使用している場合があります。以下の「スニペット」は、使用しているクライアントを特定し、適切なテーマに切り替えます(color-theme-choicesから)。emacswikiで見つけました。

(require 'color-theme)
(eval-after-load "color-theme"
    (color-theme-initialize))

;; http://www.emacswiki.org/emacs/ColorTheme#toc10
;; select theme - first list element is for windowing system, second is for console/terminal
(setq color-theme-choices 
      '(color-theme-tangotango color-theme-standard))

(funcall (lambda (cols)
           (let ((color-theme-is-global nil))
             (eval 
              (append '(if (window-system))
                  (mapcar (lambda (x) (cons x nil)) 
                      cols)))))
         color-theme-choices)

(require 'cl)
(fset 'test-win-sys 
      (funcall (lambda (cols)
             (lexical-let ((cols cols))
               (lambda (frame)
                 (let ((color-theme-is-global nil))
               (select-frame frame)
               (eval 
            (append '(if (window-system frame)) 
                (mapcar (lambda (x) (cons x nil)) 
                    cols)))))))
               color-theme-choices ))
(add-hook 'after-make-frame-functions 'test-win-sys)
于 2010-06-01T14:27:27.690 に答える