2009-07-02 9 views
50

Sto eseguendo Emacs, modificando i file in modalità C++ e PHP. Adoro l'evidenziazione della sintassi come concetto, ma i colori di default sono una parodia. Riesco a malapena a leggerne alcuni: troppo buio. Qual è il modo più semplice per cambiare i loro valori? Non riesco a trovare nulla su questo sul web. Non mi importa nemmeno di cambiare il binario mentre sto compilando il mio Emacs. Voglio solo trovare il punto in cui si dice che il blu è # 0000FF e cambiarlo in #AAAAFF ad esempio.Cambia la sintassi di Emacs evidenziando i colori

risposta

61

Trovo più facile usare il tema del colore per questo genere di cose.

https://www.emacswiki.org/emacs/ColorThemes

Ma se non si vuole fare questo, posizionare il cursore sul testo incriminato, ha colpito M-x customize-face. Dovrebbe essere la faccia predefinita su cui il cursore è finito.

http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html

+0

Un bel [tema di colore] (https://github.com/bmarcot/color- tema-pomgranate-esplosione). – Benoit

+0

Il problema è che uno dei colori che non riesco a leggere (è un blu scuro praticamente invisibile sullo sfondo nero) è qualsiasi testo venga visualizzato quando digito 'M-x personalizza-faccia'! (Inoltre, il collegamento ColorTheme sembra avere un problema) – Michael

+0

Beh, ho provato a risolvere il collegamento con uno che funzionava, ma quando viene seguito da questa pagina * still * non funziona !!! – Michael

25

2 modi - è possibile installare il colore-tema pacchetto, che ha un sacco di schemi belle per selezionare ed è più facile farlo a mano. Il by-mano assomiglia a questo (nel vostro .emacs)

(custom-set-faces 
    custom-set-faces was added by Custom. 
    If you edit it by hand, you could mess it up, so be careful. 
    Your init file should contain only one such instance. 
    If there is more than one, they won't work right. 
    '(default ((t (:inherit nil :stipple nil :background "lightyellow2" :foreground "gray20" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "liberation mono")))) 
    '(background "blue") 
    '(font-lock-builtin-face ((((class color) (background dark)) (:foreground "Turquoise")))) 
    '(font-lock-comment-face ((t (:foreground "MediumAquamarine")))) 
    '(font-lock-constant-face ((((class color) (background dark)) (:bold t :foreground "DarkOrchid")))) 
    '(font-lock-doc-string-face ((t (:foreground "green2")))) 
    '(font-lock-function-name-face ((t (:foreground "SkyBlue")))) 
    '(font-lock-keyword-face ((t (:bold t :foreground "CornflowerBlue")))) 
    '(font-lock-preprocessor-face ((t (:italic nil :foreground "CornFlowerBlue")))) 
    '(font-lock-reference-face ((t (:foreground "DodgerBlue")))) 
    '(font-lock-string-face ((t (:foreground "LimeGreen")))) 

...

ecc ecc

è anche possibile digitare

`M-x customize-face RET` 

che vi darà tutte le personalizzazioni da impostare, finiscono per finire nel tuo .emacs.

14

Posizionare il cursore su una faccia ("colore") che si desidera modificare. Hit C-u C-x =. Questo ti dirà quali faccia sono presenti in quella posizione e ti lascerà fare clic per personalizzarle. Salva le tue personalizzazioni.

+0

Non ho idea di cosa dovrei inserire nella schermata di personalizzazione.Per prima cosa, alcune delle cose importanti sono in un colore di carattere che non riesco a leggere (è quello che sto cercando di risolvere in primo luogo!) E in secondo luogo, non vedo alcun riferimento ovvio al colore o come per cambiarli. – Michael

+0

@Michael: Se non riesci a leggere il testo in Personalizza, usalo da una sessione di Emacs vergine: avvia Emacs usando 'emacs -Q'. Se riesci a leggere il testo, dovresti riuscire a visualizzare le caselle di controllo per gli attributi attualmente utilizzati per definire la faccia che stai personalizzando. Fare clic sul collegamento 'Mostra tutti gli attributi' per mostrare tutti gli attributi. Seleziona o deseleziona qualsiasi attributo, se necessario. Quando si seleziona una casella, si vede il suo valore corrente. Se l'attributo 'Sfondo' o' Primo piano' è selezionato, puoi usare il pulsante 'Scegli' accanto al valore corrente per scegliere un colore diverso per quell'attributo. – Drew

2

Se non ti interessa affatto l'evidenziazione del colore, o nessuna delle risposte di cui sopra funziona per te (o impiega troppo tempo e sforzi per capire), ecco una soluzione molto semplice che eliminerà i colori del tutto.

digitando il seguente sarà sbarazzarsi di colori:

M-x global-font-lock-mode

Si può anche fare questo come un passo intermedio per consentire di vedere realtà tutto schermo per provare nessuna delle risposte precedenti. Nel mio caso questo è stato molto utile perché il colore di alcune parti chiave del testo che mi permettevano di cambiare i colori erano quasi invisibili - ad esempio, il prompt di M-x.

Se si desidera che la modifica sia permanente, è possibile aggiungere questo al vostro file .emacs:

(setq-default global-font-lock-mode nil)

Problemi correlati