Bạn có chắc chắn rằng bạn đang sử dụng chủ đề màu sắc chứ không phải chủ đề tùy chỉnh Emacs? Chủ đề màu được xác định bởi thư viện color-theme.el
. Chủ đề tùy chỉnh có sẵn bắt đầu với Emacs 24 - và chúng không giống với chủ đề màu.
Nếu bạn đang sử dụng các chủ đề màu thì câu trả lời rất đơn giản: chỉ cần kích hoạt chủ đề màu giả có tên [Reset]
. Điều đó hoàn toàn xóa bỏ chủ đề: loại bỏ tất cả các hiệu ứng mà nó áp đặt.
Nếu bạn thực sự sử dụng các chủ đề tùy chỉnh của Emacs thì câu trả lời không đơn giản như vậy. Bạn không thể hoàn tác ứng dụng của một chủ đề tùy chỉnh. Những gì bạn có thể làm, sẽ giúp ích rất nhiều, là vô hiệu hóa từng chủ đề tùy chỉnh, sử dụng disable-theme
, sau khi nó đã được bật và trước khi bật một chủ đề tùy chỉnh khác .
Dưới đây là hai cách để thực hiện việc "bán tự động" này:
Khuyên bạn load-theme
, để trước tiên nó vô hiệu hóa tất cả các chủ đề tùy chỉnh trước khi tải (bật) một chủ đề khác. Điều này đã được đề xuất trong câu trả lời StackOverflow này của Tungd tại tungdao.com .
(defadvice load-theme (before theme-dont-propagate activate)
(mapcar #'disable-theme custom-enabled-themes))
Xác định và sử dụng chức năng vô hiệu hóa chủ đề hiện tại trước khi bật chủ đề . Điều này đã được đề xuất bởi Maris Orbidans .
(defun enab-theme (theme)
(if current-t43m3 (disable-theme current-t43m3))
(setq current-t43m3 theme)
(load-theme theme t))
Xem các bài viết SO gốc để biết thêm một chút thông tin và xem câu hỏi và các câu trả lời khác cho nó trên cùng một trang SO. (Hãy cẩn thận: Câu trả lời được chấp nhận trên trang đó không phải là câu trả lời cho vấn đề hoàn tác một chủ đề tùy chỉnh.)
Xin lưu ý rằng ngay cả các giải pháp được mô tả trong # 2 không phải là giải pháp chung: chúng không hoàn tác ứng dụng của một chủ đề tùy chỉnh - không có cách nào để làm điều đó. Nghĩa là, vô hiệu hóa một chủ đề tùy chỉnh sẽ không khôi phục bất kỳ tùy chỉnh không phải chủ đề nào (ví dụ: thay đổi khuôn mặt) mà bạn có thể đã thực hiện trước khi bật chủ đề đó và bị chủ đề đó ghi đè.
Nói cách khác, hoàn tác một chủ đề màu sắc là chuyện nhỏ; hoàn tác một chủ đề tùy chỉnh là không thể. Điều tốt nhất bạn có thể làm cho một chủ đề tùy chỉnh là vô hiệu hóa nó so với các chủ đề tùy chỉnh khác.
Tài liệu tham khảo tốt nhất cho câu hỏi này và cho các cách chuyển đổi (ví dụ: đi xe đạp) giữa cả chủ đề màu sắc và tùy chỉnh là trang Wiki Emacs Màu sắc và Chủ đề tùy chỉnh .
Và được cảnh báo trước: Có rất nhiều thông tin sai lệch ở nhiều nơi về các chủ đề tùy chỉnh của Emacs về vấn đề này. Mọi người đã rất phấn khích khi Emacs thêm chủ đề tùy chỉnh như một tính năng trong Emacs 24, và một số trong số họ đã ngay lập tức nhảy vào kết luận sai lầm rằng chủ đề tùy chỉnh là sự thay thế cho chủ đề màu sắc. Họ không phải. Mỗi cái đều có một số ưu điểm. Không thể hoàn tác là một nhược điểm lớn của các chủ đề tùy chỉnh, ví dụ.
[ Báo cáo lỗi GNU Emacs này là một yêu cầu nâng cao để khắc phục sự mất khả năng hoàn tác một chủ đề tùy chỉnh (và do đó khôi phục các tùy chỉnh trước đó).]
color-theme-dark-laptop
thì bạn cần phải tạo ảnh chụp nhanh theo cách thủ công nếu bạn muốn trở lại chủ đề trước đó. Eg(fset 'color-theme-revert (color-theme-make-snapshot))
sẽ cung cấp cho bạn lệnhcolor-theme-revert
để hoàn nguyên. Nút [Resert] sẽ không hoạt động khác. (Để kiểm tra xem tôi có đúng không, không phát lệnhcolor-theme-select
trước khi bạn thay đổi chủ đề, vì điều này sẽ tạo ảnh chụp nhanh bị thiếu cho bạn)