2010-04-11 66 views
2

我在終端上使用MacOS 10.6上的emacs。我有一個白色的背景。在終端使emacs使用深色,而不是光字體鎖的顏色

閱讀引用的C++字符串非常困難。他們以淺綠色出現。關鍵詞在綠松石中。

通過cpp.el查找源代碼後,我確定使用的是cpp-face-light-name-list而不是cpp-face-dark-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) 

但它似乎並不奏效。

我應該在我的.emacs文件中放置什麼,以便獲取cpp-face-dark-list而不是cpp-face-light-list?

謝謝!

+0

color-theme怎麼樣? – YuppieNetworking 2010-04-11 17:33:29

+0

也許明確地設置淺色背景的作品? (set-background-color「white」)? – Patrick 2010-04-11 19:39:18

回答

3

我有同樣的問題,我選擇的主題在終端上始終無法讀取。答案是使用顏色主題包,正如其他人所說,然後選擇在終端Emacs的一個主題,並在自己的窗口中運行的另一個主題爲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以獲取可用主題的列表。同樣,您可以爲主要模式添加鉤子,以根據您正在編輯的代碼類型來更改顏色主題。

0

可能是值得的,以確保您啓用終端顏色: export TERM=xterm-256color

+0

由於他看到淡綠色的字體,我認爲可以安全地假設終端中的顏色已啓用。 – 2010-04-11 21:36:44

3

由於建議的意見之一 - 檢查出color-theme包。這是一個更爲通用的解決方案,例如您的問題,並且比手動調整字體表面更容易使用。

1

如果您將默認面的前景設置爲黑色並將背景設置爲白色(M-x customize-group basic-faces),則字體鎖將確保所有內容都可以自動讀取。如果您需要的只有足夠的對比度,才能讀取字體鎖定,那麼您需要設置這兩種顏色。

我已經嘗試colortheme.el,尤其是與emacs23它往往使事情少,而不是更具可讀性,我結束了不得不重新啓動,以恢復面設置爲不可讀的前景/背景組合,並沒有重置。

0

這是另一種方法,如果您在Emacs 23+中使用守護進程模式,這種方法尤其方便。在使用守護進程模式時,有時使用圖形客戶端,有時使用終端客戶端。下面的「片段」試圖找出你正在使用的客戶端,然後切換到適當的主題(從顏色主題選擇)。在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)