Emacs luôn yêu cầu tin tưởng chủ đề màu sắc khi khởi động


10

Emacs của tôi luôn nhắc tôi có nên tin tưởng chủ đề màu đã chọn hay không. Tôi luôn trả lời yytin tưởng và ghi nhớ sự lựa chọn của tôi. Tôi đang tải chủ đề màu theo cách thủ công:

(load-theme 'my-favourite-theme)

Tôi cho rằng điều này là do các tùy chỉnh dễ dàng được đặt bên dưới tải chủ đề màu. Có cách nào để sửa nó không? Hoặc tôi chỉ nên ủy thác tải chủ đề màu cho các tùy chỉnh dễ dàng quá?


2
load-themecó các đối số tùy chọn: (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- Nếu được sử dụng trực tiếp trong tệp init của bạn, nó sẽ được gọi với đối số NO-CONFIRM không phải là số không. . . Nói cách khác, sử dụng: (load-theme 'my-favourite-theme t)
luật

1
vậy tôi cần (load-theme 'name t nil)hay chỉ (load-theme 'name t)?
Geradlus_RU

2
Các đối số tùy chọn nilcần được đưa vào CHỈ nếu một đối số tùy chọn tiếp theo là không nil. Ví dụ: nếu bạn muốn đối số tùy chọn đầu tiên là nilvà đối số tùy chọn thứ hai là t, thì nilsẽ cần thiết cho đối số đầu tiên. Vì đối số tùy chọn thứ hai là nil- bạn có thể bỏ qua hoặc đưa vào nó - nên không có sự khác biệt. Đôi khi tôi sử dụng nilcho các đối số tùy chọn khi không có đối số không phải niltùy chọn tiếp theo chỉ để tôi biết có bao nhiêu đối số tùy chọn có thể có cho một chức năng cụ thể - tức là một lời nhắc trực quan.
luật

Những gì @lawlist đang đề xuất là một cách giải quyết, không phải là một giải pháp. Tốt hơn là nên tìm hiểu tại sao bạn gặp phải vấn đề này vì nó có thể gây ra các vấn đề khác. Trên thực tế, tôi đã thấy vấn đề này xung quanh rất nhiều, vì vậy tôi rất muốn biết lý do.
Malabarba

@Geradlus_RU Nếu bạn chưa chỉ định đối số NO-CONFIRM t, emacs sẽ hỏi bạn câu hỏi đó mỗi lần sau khi gói chủ đề đó được cập nhật (vì tổng kiểm tra của nó thay đổi). Có phải vậy không? Nếu bạn tiếp tục nhận được những lời nhắc đó mỗi khi bạn bắt đầu sử dụng emacs (ngay cả khi chủ đề .el chưa được cập nhật), thì hãy đảm bảo rằng tổng kiểm tra chủ đề đã được lưu bởi emacs và cũng được đọc bởi emacs khi khởi động. Một tình huống có thể xảy ra là bạn đã lưu custom.el dưới dạng một tệp riêng biệt (emacs đang ghi nhớ các chủ đề an toàn cho những chủ đề đó) nhưng bạn không tải tệp đó trong init.
Kaushal Modi

Câu trả lời:


10

Tệp của bạn init.elcó thể chứa một đoạn như thế này:

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 ...)

Trong số nhiều thứ khác, đoạn mã này có trách nhiệm lưu và khôi phục custom-safe-themesbiến. Do đó, nếu điều này xảy ra ở cuối tệp init của bạn (như thường lệ) thì có lẽ bạn đã thêm (load-theme ...)dòng của mình lên trên nó, điều này giải thích tại sao Emacs không biết về các chủ đề an toàn của bạn khi khởi động.

Chỉ cần di chuyển đoạn mã đó lên đầu tệp init của bạn và điều đó sẽ giải quyết vấn đề của bạn.


4

Tôi đang sử dụng moe-them , và chỉ

(require 'moe-theme)
(moe-dark)

sẽ tải chủ đề mà không có lỗi / cảnh báo / nhắc nhở , nhưng nếu tôi M-x load-themeở bên trong Emacs, nó sẽ nhắc một cái gì đó như "coi chủ đề là an toàn" và tôi đã tìm ra giải pháp cho điều đó:

(setq custom-safe-themes t)

Tôi không biết nếu điều này sẽ giải quyết vấn đề của bạn, nhưng bạn có thể thử.

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.