Ви впевнені, що використовуєте кольорові теми, а не спеціальні теми Emacs? Кольорові теми визначаються бібліотекою color-theme.el
. Спеціальні теми доступні починаючи з Emacs 24 - і вони не збігаються з кольоровими темами.
Якщо ви використовуєте кольорові теми, то відповідь проста: просто увімкніть псевдокольорову тему з назвою [Reset]
. Це повністю скасовує тему: видаляє всі накладені на неї ефекти.
Якщо ви фактично використовуєте власні теми Emacs, то відповідь не така проста. Ви не можете скасувати застосування спеціальної теми. Що ви можете зробити, що дуже допоможе, - це вимкнути кожну власну тему, використовуючи disable-theme
її після ввімкнення та перед ввімкненням іншої спеціальної теми.
Ось два способи зробити це "напівавтоматично":
Порадьте load-theme
, щоб спочатку вимкнути всі власні теми перед завантаженням (увімкненням) іншої. Це було запропоновано в цій відповіді StackOverflow по Tungd на tungdao.com .
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
Визначте та використовуйте функцію, яка вимикає поточну тему, перш ніж увімкнути тему . Це запропонувала Маріс Орбіданс .
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
Перегляньте ці оригінальні публікації про те, щоб отримати додаткову інформацію, і побачити питання та інші відповіді на нього на тій же сторінці SO. (Застереження: прийнята відповідь на цій сторінці не є відповіддю на проблему скасування спеціальної теми.)
Майте на увазі, що навіть рішення, описані в №2, не є загальними рішеннями: вони не скасовують застосування спеціальної теми - немає способу це зробити. Тобто, вимкнення користувацької теми не відновлює будь - які нетематичні налаштування (наприклад, зміни обличчя), які ви, можливо, зробили до ввімкнення цієї теми та які були замінені цією темою.
Іншими словами, скасування кольорової теми тривіально; скасування спеціальної теми неможливо. Найкраще, що ви можете зробити для власної теми - це відключити її відносно інших спеціальних тем.
Найкраще посилання на це питання та шляхи перемикання (наприклад, їзда на велосипеді) між кольоровими та спеціальними темами - Колірна сторінка Вікі-сторінки Emacs та Кольорові теми .
І будьте попереджені: у різних місцях є досить багато оманливої інформації про власні теми Emacs. Люди були справедливо схвильовані, що Emacs додав власні теми як функцію в Emacs 24, а деякі з них відразу перейшли до помилкового висновку, що користувацькі теми є заміною кольорових тем. Вони не є. У кожного є деякі переваги. Наприклад, неможливість скасування скасування є головним недоліком користувацьких тем, наприклад.
[ Цей звіт про помилки GNU Emacs - це запит на вдосконалення для усунення неможливості скасувати спеціальну тему (і таким чином відновити попередні налаштування).]
color-theme-dark-laptop
то вам потрібно вручну зробити знімок, якщо ви хочете повернутися до попередньої теми. Наприклад,(fset 'color-theme-revert (color-theme-make-snapshot))
ви дасте командуcolor-theme-revert
повернути. Кнопка [Resert] не працює. (Щоб перевірити, чи я маю рацію, неcolor-theme-select