Come scoprire l'attuale tema cromatico in emacs


24

Mentre emacs è in esecuzione, come posso sapere quale tema di colore è attualmente in uso?

Risposte:


19

Non esiste il concetto di tema corrente e, in effetti, è possibile applicare più temi in sequenza per definire in modo aggiuntivo l'insieme di facce attive. Il supporto per i temi è stato aggiunto nelle ultime versioni di Emacs (vedi M-x customize-theme) e c'è ancora l'opzione "Seleziona più di un tema alla volta".

In breve, quando attivi un tema, non stai passando a quel tema, ma piuttosto applicando le modifiche specificate nel tema alle facce e alle variabili che elenca.

Tutte le personalizzazioni che non sono esplicitamente inserite in un tema denominato vengono effettivamente inserite nel tema utente nascosto, quindi esiste sempre almeno un tema attivo. Gli altri temi attualmente abilitati sono elencati nella variabile custom-enabled-themes.


4

Condividi un esempio per l'utilizzo di color-theme-print per ottenere quale tema ho applicato.

tramite 'Mx color-theme-print' otterrai risultati sulle informazioni sul tema del colore, quindi troverò un valore tipico che è unico per diversi temi di colore, scelgo 'background-color' il cui valore è 537182 per i miei emacs.

Apri la libreria di temi di colore 'color-theme-library.el', quindi cerca il file con la parola chiave come '537182', quindi otterrai il nome del tema lì.

Anche se non è un modo semplice ma funziona davvero, spero che ti aiuti!


3

M-x color-theme-printè utile per dirti esattamente quali caratteri sono attivi. Non ti dirà quali temi colorati sono stati applicati, ma dovresti essere in grado di risolverlo dal tuo file init. Altrimenti, suppongo che tu debba usare una modalità che applica il suo tema cromatico (so che Proof General lo fa, e la cosa più irritante è).


1
Apparentemente questa necessità per (require 'color-theme)prima cosa
Rolazaro Azeveires,

1

Per aggiungere alla risposta di sanityinc, è necessario impostarlo da soli o è nel file init.el (dotemacs).

Immagino che te lo stia chiedendo perché hai provato un paio di loro e hai dimenticato giusto? So di sì, mi chiedo se è possibile controllare il buffer dei messaggi per vedere l'ultimo applicato.

@sanityinc grazie anche per la spiegazione. Ho notato che quando ho iniziato ad aggiungere sempre più temi in successione, alcune aree, come il mini buffer, non sarebbero cambiate o sarebbero state impostate sul valore dell'ultimo tema. ora so perché.


Nel vecchio color-themepacchetto, c'è un var chiamato color-theme-is-cumulative, che potresti impostare in nilmodo che i temi non interferiscano l'uno con l'altro; sembra una buona idea, ma i risultati sono in genere del tutto inaspettati, penso in parte perché i temi in genere fanno ipotesi sui volti incorporati.

sì, ho notato anche questo presupposto, quando ne ho inventato uno ... Copiavo da uno "popolare" ma avrebbe metà della loc che il prossimo ha fatto ... ecc. Portami a pensare che alcuni temi ha appena cambiato quelle variabili che "voleva" e che c'erano centinaia da cambiare, quindi perché preoccuparsi. Su una nota correlata, uso il tema della pioggia di cioccolato e lo adoro ora. È stato sulla mia build 24.x per molti mesi.

1
Ho provato alcuni temi di colore usando il comando "color-theme-select", e mi piaceva un color-theme ma a quel punto avevo chiuso il buffer color-theme-select e ho anche dimenticato quello che ho selezionato, quindi ho pensato che potesse essere alcune variabili memorizzano quale tema colore è attualmente applicato. Non ci sono registri a riguardo nel buffer Messaggi

Forse puoi provare M-x describe-face RET default RET(o una diversa faccia non predefinita), e quindi usare M-x rgrepper cercare i file .el a tema colore contenenti gli stessi nomi di colore / valori esadecimali.

Siamo spiacenti, la soluzione con la ricerca nel buffer dei messaggi non aiuta. M-x load-theme <colortheme>non stampa nulla nel buffer dei messaggi.
Christian Herenz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.