एक अन्य संभावित निर्माण है कि इस के लिए काम कर सकता था किया जाएगा:
एक अन्य विकल्प है, जो भद्दा लगता है, बजाय मूलभूत मूल्यों को देखने और जो कुछ उन्हें सेट लेकिन पीडीएफ फाइलों के लिए मूल्य बदलने के लिए है add-hook
के बजाय eval-after-load
का उपयोग करें। यह स्टार्टअप पर केवल एक बार मूल्य निर्धारित करेगा, आपको प्रविष्टियों को जोड़ने या नहीं होने की चिंता करने की आवश्यकता नहीं होगी (जब तक आप नियमित रूप से पुनः लोड नहीं करते)।
setcdr
के साथ संयोजन करें और आप सूची से हटने से बच सकते हैं और फिर पुनः जोड़ सकते हैं, if
जोड़ें और आप सुनिश्चित करेंगे कि आप या तो मूल्य जोड़ या बदल सकते हैं। यदि केवल उन मानों के लिए आवश्यक है जो डिफ़ॉल्ट रूप से सूची में नहीं हैं, तो यह सुनिश्चित करने के लिए कि आप लाइन के नीचे कहीं भी संघर्ष के साथ समाप्त नहीं होते हैं। स्पष्टीकरण
eval-after-load
के लिए
(eval-after-load "org"
'(progn
;; .txt files aren't in the list initially, but in case that changes
;; in a future version of org, use if to avoid errors
(if (assoc "\\.txt\\'" org-file-apps)
(setcdr (assoc "\\.txt\\'" org-file-apps) "notepad.exe %s")
(add-to-list 'org-file-apps '("\\.txt\\'" . "notepad.exe %s") t))
;; Change .pdf association directly within the alist
(setcdr (assoc "\\.pdf\\'" org-file-apps) "evince %s")))
संपादित केवल ब्लॉक जब (require 'org)
कहा जाता है मूल्यांकन करता है। अगर संगठन पहले ही लोड हो चुका है तो यह तुरंत मूल्यांकन करेगा (मैंने गलती से सोचा था कि प्रत्येक बार पुस्तकालय लोड होने पर यह दौड़ता था, लेकिन ऐसा लगता है कि यह पहली बार होता है)। add-hook
और eval-after-load
के बीच का अंतर here समझाया गया है।
org-file-apps
के बाद से एक defcustom
है यह अगर तुम (अपने दूसरे (भद्दा है) समाधान में के रूप में डिफ़ॉल्ट मान सहित) खरोंच से सूची का निर्माण, अगर आप उन्हें सेट मूल्यों में परिवर्तन नहीं होगा पहले ऑर्ग भरी हुई है बस setq
आप कर सकते थे में आपका init.el और सबकुछ काम करेगा। इसका मतलब यह भी है कि यह आपके परिवर्तनों को ओवरराइट नहीं करेगा।
पीडीएफ एंट्री में (if (assoc
जोड़ना कुछ भी नुकसान नहीं पहुंचाएगा, यह केवल यह सुनिश्चित करेगा कि यदि पीडीएफ को डिफ़ॉल्ट org-file-apps
से हटा दिया गया है, तो यह अभी भी जोड़ा जाएगा। पीडीएफ हटा दिए जाने पर एकमात्र समाधान विफल नहीं होगा, यह आपका दूसरा है।अन्य सभी मानते हैं कि प्रवेश एक रूप में या किसी अन्य रूप में मौजूद है।
स्रोत
2012-02-02 16:32:07
मैं कभी-कभी सत्र में कई बार बफर के लिए ऑर्ग-मोड लोड करता हूं। क्या यह इस समाधान को प्रभावित करता है? या यह सिर्फ अगर मैं 'org-reload' का उपयोग करता हूं? साथ ही, क्या मैं एक '(अगर (भविष्य में सबूत बनाने के लिए पीडीएफएस के लिए assoc' संरचना' जोड़ सकता हूं? –
@NN ने उस विवरण में कुछ विवरण जोड़े जो उस प्रश्न का उत्तर देना चाहिए। –
आपके विस्तार के लिए धन्यवाद। यह समाधान अब तक का सबसे सुरुचिपूर्ण है । –