Emacs завжди вимагає довірити кольорову тему при запуску


10

Мій Emacs завжди підказує, чи варто довіряти вибраній кольоровій темі чи ні. Я завжди відповідаю yі yдовіряю і пам’ятаю свій вибір. Я завантажую кольорову тему вручну:

(load-theme 'my-favourite-theme)

Я думаю, це тому, що прості налаштування розміщуються нижче завантаження кольорової теми. Це якийсь спосіб виправити? Або мені просто делегувати завантаження кольорової теми на легкі налаштування?


2
load-themeмає необов'язкові аргументи: (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- Якщо використовується безпосередньо у вашому файлі init, його слід викликати аргументом NO-CONFIRM. . . Іншими словами, використовуйте: (load-theme 'my-favourite-theme t)
законник

1
так мені потрібно (load-theme 'name t nil)чи просто (load-theme 'name t)?
Geradlus_RU

2
Додаткові аргументи, які nilповинні бути включені тільки якщо наступний додатковий аргумент відрізняється nil. Наприклад, якщо ви хотіли, щоб перший необов’язковий аргумент був, nilа другий необов’язковий аргумент був t, то nilдля першого аргументу знадобиться. Оскільки другий необов’язковий аргумент nil- ви можете його опустити або включити - це не має ніякого значення. Іноді я використовую nilдля необов'язкових аргументів, коли немає наступного nilнеобов'язкового аргументу просто для того, щоб я знав, скільки необов’язкових аргументів можливі для певної функції - тобто візуального нагадування.
законник

Що пропонує @lawlist - це рішення, а не рішення. Бажано з’ясувати, чому у вас виникає ця проблема, оскільки це може спричинити інші проблеми. Насправді я дуже багато бачив цього питання, тому дуже хотів би дізнатися його причину.
Малабарба

@Geradlus_RU Якщо ви не вказали аргумент NO-CONFIRM, який має бути t, emacs задаватиме вам це запитання кожен раз після оновлення цього тематичного пакету (оскільки його контрольна сума .el змінюється). Це так? Якщо ви продовжуєте отримувати ці підказки щоразу, коли ви запускаєте emacs (навіть коли тема .el не оновлюється), тоді переконайтеся, що контрольна сума теми збережена emacs, а також читається emacs під час запуску. Одним із можливих сценаріїв є те, що ви зберегли custom.el як окремий файл (emacs запам'ятовує для них безпечні теми), але ви не завантажуєте цей файл init.
Каушал Моді

Відповіді:


10

Ваш init.elфайл, ймовірно, містить такий фрагмент:

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

Крім усього іншого, цей фрагмент відповідає за збереження та відновлення custom-safe-themesзмінної. Тому, якщо це трапляється в кінці вашого файлу init (як це зазвичай буває), ви, ймовірно, додали (load-theme ...)рядок над ним, що пояснює, чому Emacs не знає про ваші безпечні теми під час запуску.

Просто перемістіть цей фрагмент вгору вашого init-файлу, і це повинно вирішити вашу проблему.


4

Я використовую moe-них , і просто

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

завантажуватиме тему без помилок / попередження / підказки , але якщо я M-x load-themeвсередині Emacs, вона підкаже щось на зразок "ставитись до теми як до безпечної", і я знайшов рішення для цього:

(setq custom-safe-themes t)

Я не знаю, чи це вирішить вашу проблему, але ви можете спробувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.