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)?
गराड्लस_आरयू

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वेरिएबल को बचाने और पुनर्स्थापित करने के लिए जिम्मेदार है । इसलिए, यदि ऐसा आपकी इनिट फ़ाइल के अंत में होता है (जैसा कि आमतौर पर होता है) तो आपने संभवतः (load-theme ...)इसके ऊपर अपनी लाइन जोड़ी है, जो बताता है कि स्टार्टअप के दौरान Emacs को आपके सुरक्षित विषयों के बारे में क्यों नहीं पता है।

बस उस स्निपेट को अपने इनिट-फाइल के शीर्ष पर ले जाएं, और इससे आपकी समस्या का समाधान होना चाहिए।


4

मैं मो-उन का उपयोग कर रहा हूं , और बस

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

त्रुटि / चेतावनी / संकेत के बिना विषय को लोड करेगा , लेकिन अगर मैं M-x load-themeEmacs के अंदर हूं , तो यह "थीम को सुरक्षित मानें" जैसा कुछ संकेत देगा, और मुझे इसके लिए एक समाधान मिला:

(setq custom-safe-themes t)

मुझे नहीं पता कि यह आपकी समस्या को हल करेगा, लेकिन आप इसे आजमा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.