Làm thế nào để thiết lập lại chủ đề màu?


25

Khi tôi đang thử các chủ đề màu khác nhau, có vẻ như nếu một yếu tố cụ thể không được xác định trong chủ đề mới, giá trị chủ đề cũ được giữ lại và điều này dẫn đến một số xung đột. Điều này xảy ra trong emacs 24 và cả các phiên bản trước đó bằng cách sử dụng color-theme. Có cách nào để đặt lại tất cả các màu ở giữa thành mặc định để mỗi chủ đề màu trông như dự định không?

Câu trả lời:


22

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.

  1. 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.

  2. 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:

    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.)

  3. 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 đó).]


1
Bạn cũng có thể thêm rằng, nếu bạn chọn một chủ đề màu bằng cách sử dụng một lệnh như thế color-theme-dark-laptopthì 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ệnh color-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ệnh color-theme-selecttrướ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)
user4514

Xin lưu ý, helm-Themes sẽ tự động vô hiệu hóa các chủ đề khác khi chọn một chủ đề mới.
ocodo

1
@EmacsFodder: Nếu bạn đang nói về chủ đề tùy chỉnh thì vô hiệu hóa các chủ đề khác là không đủ . Bạn không nhất thiết phải trở về trạng thái ban đầu tồn tại trước khi bật bất kỳ chủ đề tùy chỉnh nào. Vấn đề này không tồn tại đối với các chủ đề màu - bạn có thể chụp nhanh trạng thái ban đầu và quay lại nó. Xem trang EmacsWiki được trích dẫn và báo cáo lỗi được trích dẫn. Không có viên đạn bạc ma thuật nào ở đây, Helm hay cách khác. Đó là bởi vì (một lỗ hổng) trong cách các chủ đề tùy chỉnh được thiết kế.
vẽ

@JSG: Có, để có thể trở về trạng thái ban đầu, trước khi bật bất kỳ chủ đề màu nào, bạn nên tạo một ảnh chụp nhanh của nó (tương đương với chủ đề màu giả). Điều đó được giải thích trong trang EmacsWiki được trích dẫn và báo cáo lỗi Emacs được trích dẫn. Vì vậy, có, bạn có thể cần phải suy nghĩ trước, nhưng ít nhất có thể trở lại trạng thái đó. Tính năng này bị thiếu đối với các chủ đề tùy chỉnh - việc vô hiệu hóa các chủ đề tùy chỉnh sẽ không đưa bạn trở lại trạng thái ban đầu.
vẽ

Đây là thông tin có giá trị cho tôi về sự khác biệt của họ, vì tôi chưa bao giờ chạm vào chủ đề trước trên Emas, cảm ơn! Chỉ vì thông tin bổ sung và cập nhật, kể từ tháng 7 năm 2016 trên Emacs 25.2.1, bây giờ có vẻ như bạn có thể lưu cài đặt của riêng mình dưới dạng chủ đề - hoặc ít nhất, Emacs ở đây hãy để tôi làm điều đó. Ngoài ra, tôi phải chỉ định rõ ràng (trên customize-themesUI) nếu tôi muốn bật nhiều chủ đề cùng một lúc. Tôi đoán đó có thể là những cách hoàn tác một chủ đề áp dụng trong trường hợp tôi thay đổi quyết định. Và tôi cũng đoán rằng, với một số Lisp, người ta có thể giữ một bản sao lưu tự động trước bất kỳ kẻ thù nào.
Charles Roberto Canato

-2

Nếu bạn đã chọn một trong những chủ đề tích hợp từ đó M-x customize-themes, chỉ cần nhận xét các dòng kích hoạt chủ đề tùy chỉnh trong của bạn ~/.emacs.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.