Êtes-vous sûr d'utiliser des thèmes de couleurs et non des thèmes personnalisés Emacs? Les thèmes de couleurs sont définis par la bibliothèque color-theme.el
. Les thèmes personnalisés sont disponibles à partir d'Emacs 24 - et ce ne sont pas les mêmes que les thèmes de couleur.
Si vous utilisez des thèmes de couleurs , la réponse est simple: il suffit d'activer le pseudo-thème de couleurs nommé [Reset]
. Cela annule complètement le thème: supprime tous les effets qu'il imposait.
Si vous utilisez en fait des thèmes personnalisés Emacs, la réponse n'est pas si simple. Vous ne pouvez pas annuler l'application d'un thème personnalisé. Ce que vous pouvez faire, ce qui vous aidera beaucoup, est de désactiver chaque thème personnalisé, en utilisant disable-theme
, après son activation et avant d'activer un autre thème personnalisé.
Voici deux façons de procéder "semi-automatiquement":
Conseillez load-theme
, afin qu'il désactive d' abord tous les thèmes personnalisés avant de charger (activer) un autre. Cela a été suggéré dans cette réponse StackOverflow par Tungd sur tungdao.com .
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
Définissez et utilisez une fonction qui désactive le thème actuel avant d'activer un thème . Cela a été suggéré par Maris Orbidans .
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
Voir ces messages SO originaux pour un peu plus d'informations, et voir la question et les autres réponses sur la même page SO. (Avertissement: la réponse acceptée sur cette page n'est pas une réponse au problème de l'annulation d'un thème personnalisé.)
Soyez conscient que même les solutions décrites dans # 2 sont pas des solutions générales: ils ne défont l'application d'un thème personnalisé - il n'y a pas moyen de le faire. En d'autres termes , la désactivation d'un thème personnalisé ne restaure pas les personnalisations non liées au thème (par exemple, les modifications de visage) que vous auriez pu effectuer avant d'activer ce thème et qui ont été remplacées par ce thème.
En d'autres termes, annuler un thème de couleur est trivial; annuler un thème personnalisé est impossible. Le mieux que vous puissiez faire pour un thème personnalisé est de le désactiver par rapport aux autres thèmes personnalisés.
La meilleure référence pour cette question et pour les moyens de basculer (par exemple le cyclisme) entre les thèmes de couleur et personnalisés est la page Wiki d'Emacs Couleur et thèmes personnalisés .
Et soyez prévenu: il y a une quantité d'informations trompeuses à divers endroits sur les thèmes personnalisés Emacs à cet égard. Les gens étaient à juste titre ravis qu'Emacs ait ajouté des thèmes personnalisés en tant que fonctionnalité dans Emacs 24, et certains d'entre eux ont immédiatement sauté à la conclusion erronée que les thèmes personnalisés remplaçaient les thèmes de couleur. Ils ne sont pas. Chacun a ses avantages. Ne pas pouvoir annuler est un inconvénient majeur des thèmes personnalisés, par exemple.
[ Ce rapport de bogue GNU Emacs est une demande d'amélioration visant à remédier à l'impossibilité d'annuler un thème personnalisé (et donc de restaurer des personnalisations antérieures).]
color-theme-dark-laptop
vous devez manuellement créer un instantané si vous souhaitez revenir au thème précédent. Par exemple(fset 'color-theme-revert (color-theme-make-snapshot))
, vous donnera la commandecolor-theme-revert
de revenir. Le bouton [Resert] ne fonctionnera pas autrement. (Pour tester si j'ai raison, n'exécutez pas la commandecolor-theme-select
avant de changer de thème, car cela vous donnera le cliché manquant)customize-themes
interface utilisateur) si je veux activer plus d'un thème en même temps. Je suppose que cela pourrait être un moyen d'annuler un thème en cas de changement d'avis. Et je suppose également qu'avec certains lisp, on pourrait conserver une sauvegarde automatique avant toute activation.Si vous avez sélectionné l'un des thèmes intégrés dans
M-x customize-themes
, commentez simplement les lignes qui activent le thème personnalisé dans votre~/.emacs
.la source