2012-02-27 23 views
32

Ho il seguente codice nel mio .emacs:Impostazione Emacs 24 tema di colore da .emacs

(if (null window-system) 
    (progn 
    (require 'color-theme) 
    (color-theme-initialize) 
    (color-theme-simple-1))) 

Quando apro Emacs sulla console, posso verificare che i progn piste di blocco (da parte di un (message "Got here.")), e vedo un flash che suggerisce che il tema del colore è stato caricato, ma se è stato caricato, è sovrascritto da qualcos'altro. Se, dopo aver caricato, apro il mio file .emacs e invio il blocco sopra usando C-x C-e, funziona. Ho provato a fare:

(add-hook 'after-init-hook 
      (lambda() 
      (progn 
       (require 'color-theme) 
       (color-theme-initialize) 
       (color-theme-simple-1)))) 

ma che agisce lo stesso.

Potrebbe essere importante che io stia utilizzando Emacs 24 e che questo codice non sia nel mio .emacs, ma in ~/Dropbox/.emacs, che viene caricato dal mio .emacs.


Una nota aggiuntiva: ho provato M-x customize-themes, ma nessuno di coloro che lavorano in modo accettabile sulla console. O producono un tema di luce quasi illeggibile, o la maggior parte del testo è invisibile.

+0

hai controllato le impostazioni del colore in '.emacs.d'? forse con il tema che crea un set di colori illeggibili. –

+3

Quel codice sembra un residuo di un Emacs 23 'color-theme.el'. – pmr

risposta

49

Emacs 24 è dotato di tematizzazione, che non utilizza affermazioni come (require 'color-theme). Come sottolinea Drew nei commenti, there are differences tra temi di colore e temi personalizzati, e la nuova direzione è verso quest'ultimo. Prova M-x customize-themes per dare un'occhiata. Da .emacs, puoi fare cose come (load-theme 'wombat t).

Ma ...

Può essere ancora andando male per voi. Una cosa che può rovinarla in questo modo è cambiare la faccia - magari nella parte delle facce personalizzate del tuo file .emacs. La personalizzazione interattiva di Emacs include automaticamente le informazioni sul colore (sia in background e in primo piano) di qualsiasi tema tu stia utilizzando al momento della sua impostazione, quindi questo può sicuramente creare problemi con i temi dei colori. Se questo è ciò che è la causa, si può solo impostare l'attributo particolare che ti interessano con qualcosa come

(set-face-attribute 'default nil :height 120) 

che cambierà la dimensione del carattere senza cambiare i colori.

+0

Vedere i miei commenti su @selman. I temi 'customize-themes' non funzionano in modo accettabile sulla console. – JasonFruit

+0

Ho verificato cosa succede se rimuovo il mio blocco personalizzato-set dai miei .emacs, e ciò funziona --- fa sì che i temi di colore e i temi di personalizzazione funzionino come previsto. Dovrò fare in modo che le mie facce personalizzate vengano eseguite solo se eseguo Emacs in X. Grazie! – JasonFruit

+0

Grande. E a proposito, se stai cercando opzioni non standard, sono un fan del tema dei colori [solarized] (https://github.com/sellout/emacs-color-theme-solarized). (Naturalmente, l'installazione di questo non sembra funzionare tramite il gestore pacchetti al momento ...) – Mike

6

Emacs 24 dispone di un proprio sistema di tematizzazione.

M-x customize-themes 

o

(custom-set-variables 
    .... 
    '(custom-enabled-themes (quote (selected-theme))) 
) 
+1

Sì, ma non presenta un tema appropriato e appropriato per la console. (Se ho torto, per favore mi illumini.) – JasonFruit

+0

Infatti, come ricordo, vengono tutti visualizzati in due modi sulla console: testo su sfondo grigio chiaro o senza testo su sfondo grigio chiaro. Nemmeno è quello che mi piacerebbe, anche se ovviamente preferirei il primo al secondo. – JasonFruit

+2

Penso che tsdh-dark sia buono per entrambe le modalità di console e di editing. –

14

Ti consiglio di dare un'occhiata al mio articolo Color Theming in Emacs: Reloaded. Copre un sacco di cose relative al supporto tematico dei colori di Emacs 24.

+1

Questa è stata la causa del mio esame di tutto questo. – JasonFruit