Czy na pewno używasz motywów kolorowych, a nie niestandardowych motywów Emacsa? Motywy kolorów są definiowane przez bibliotekę color-theme.el
. Własne motywy są dostępne wyjścia z Emacs 24 - i są one nie taki sam jak kolor tematów.
Jeśli używasz motywów kolorów, odpowiedź jest prosta: po prostu włącz pseudo-motyw kolorów o nazwie [Reset]
. To całkowicie odwraca temat: usuwa wszystkie nałożone efekty.
Jeśli faktycznie używasz niestandardowych motywów Emacsa, odpowiedź nie jest taka prosta. Nie można cofnąć zastosowania niestandardowego motywu. To, co możesz bardzo pomóc, to wyłączyć każdy niestandardowy motyw, używając disable-theme
go po włączeniu i przed włączeniem innego niestandardowego motywu.
Oto dwa sposoby wykonania tego „półautomatycznie”:
Porada load-theme
, aby najpierw wyłączyć wszystkie niestandardowe motywy przed załadowaniem (włączeniem) innego. Zostało to zasugerowane w tej odpowiedzi StackOverflow przez Tungd na tungdao.com .
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
Zdefiniuj i użyj funkcji, która wyłącza bieżący motyw przed włączeniem motywu . Zasugerowała to Maris Orbidans .
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
Zobacz te oryginalne posty SO, aby uzyskać trochę więcej informacji, i zobacz pytanie i inne odpowiedzi na to na tej samej stronie SO. (Zastrzeżenie: zaakceptowana odpowiedź na tej stronie nie jest odpowiedzią na problem cofnięcia niestandardowego motywu).
Pamiętaj, że nawet rozwiązania opisane w punkcie 2 nie są rozwiązaniami ogólnymi: nie cofają zastosowania niestandardowego motywu - nie ma na to sposobu. Oznacza to, że wyłączenie niestandardowego motywu nie przywraca żadnych dostosowań innych niż motyw (np. Zmian twarzy), które mogły zostać wprowadzone przed włączeniem tego motywu i które zostały zastąpione przez ten motyw.
Innymi słowy, cofnięcie motywu kolorowego jest banalne; cofnięcie niestandardowego motywu jest niemożliwe. Najlepsze, co możesz zrobić dla niestandardowego motywu, to wyłączyć go względem innych niestandardowych motywów.
Najlepszym odniesieniem do tego pytania i sposobów przełączania (np. Cyklicznego) pomiędzy kolorowymi i niestandardowymi motywami jest strona Emacs Wiki Kolor i niestandardowe motywy .
I ostrzegam: w różnych miejscach jest sporo mylących informacji na temat niestandardowych motywów Emacsa w tym zakresie. Ludzie byli słusznie podekscytowani tym, że Emacs dodał niestandardowe motywy jako funkcję Emacsa 24, a niektórzy z nich od razu doszli do błędnego wniosku, że niestandardowe motywy zastępują motywy kolorowe. Oni nie są. Każdy ma pewne zalety. Brak możliwości cofnięcia jest na przykład główną wadą niestandardowych motywów.
[ Ten raport o błędach GNU Emacs jest prośbą o ulepszenie, aby zaradzić niemożności cofnięcia niestandardowego motywu (a tym samym przywrócenia wcześniejszych dostosowań).]
color-theme-dark-laptop
wtedy, musisz ręcznie zrobić migawkę, jeśli chcesz powrócić do poprzedniego motywu. Np.(fset 'color-theme-revert (color-theme-make-snapshot))
Da ci poleceniecolor-theme-revert
cofnięcia. W przeciwnym razie przycisk [Resert] nie będzie działał. (Aby sprawdzić, czy mam rację, niecolor-theme-select
customize-themes
interfejsie użytkownika), czy chcę włączyć więcej niż jeden motyw w tym samym czasie. Domyślam się, że mogą to być sposoby cofnięcia zastosowania motywu na wypadek zmiany zdania. Zgaduję również, że przy niektórych Lispach można zachować automatyczne tworzenie kopii zapasowych przed włączeniem.Jeśli wybrałeś jeden z wbudowanych motywów
M-x customize-themes
, po prostu skomentuj linie, które włączają niestandardowy motyw w twoim~/.emacs
.źródło