इस समाधान में init.el
(मामूली संशोधनों के साथ) बदलाव की आवश्यकता नहीं है । इसमें फ़ाइल-स्थानीय मूल्यांकन शामिल हैं, हालांकि - लेकिन यह वही है जो ओपी ने पूछा था। समाधान के लाभ हैं:
- मूल्यांकन कोड की पुष्टि के लिए पूछता है
- मूल-कोलाहल के माहौल के भीतर elisp कोड को संपादित और परीक्षण किया जा सकता है
- समाधान के रूप में
init.el
ऑर्गमोड फ़ाइल में संशोधनों की आवश्यकता नहीं होती है (विश्वसनीय) उपयोगकर्ताओं के बीच साझा किया जा सकता है
मैं यहाँ समाधान फिर से कर रहा हूँ।
अपनी फ़ाइल में कहीं एक src-block जोड़ें:
#+NAME: startup
#+BEGIN_SRC emacs-lisp
(your-code-here)
#+END_SRC
फिर, इसे अपनी ऑर्गेमोड-फाइल के अंत में रखें:
# Local Variables:
# eval: (progn (org-babel-goto-named-src-block "startup") (org-babel-execute-src-block) (outline-hide-sublevels 1))
# End:
मैंने जोड़ा है (outline-hide-sublevels 1)
क्योंकि मैं एक शीर्षक के अंदर src-block को छिपाना पसंद करता हूं और चाहता हूं कि sublevels को स्टार्टअप पर छिपाया जाए। इस कथन के बिना, उपशीर्षकों का विस्तार हो जाएगा (org-babel-goto-named-src-block "startup")
।
इस समाधान के साथ, एमएसीएस निष्पादित करने के लिए 2 बार पूछेगा (1: स्थानीय चर लागू करें; 2: "स्टार्टअप" -src- ब्लॉक को निष्पादित करें)। जैसा कि मेरी फ़ाइल में बहुत सारे src-block हैं, मैंने एक और फ़ाइल-स्थानीय-चर सेट किया है org-confirm-babel-evaluate
, जैसे:
# Local Variables:
# org-confirm-babel-evaluate: nil
# eval: (progn (org-babel-goto-named-src-block "startup") (org-babel-execute-src-block) (outline-hide-sublevels 1))
# End:
चेतावनी: इस अतिरिक्त के साथ, emacs निष्पादित करने की अनुमति के लिए केवल एक बार संकेत देगा - उस फ़ाइल के सभी src-block अब बिना किसी पुष्टि के निष्पादित हो सकते हैं। जैसा कि दूसरों ने पहले बताया है, यह व्यवहार खतरनाक हो सकता है और आपको इस सेटिंग से बहुत सावधान रहना चाहिए।
हालाँकि, मैं तर्क दूंगा कि यह समाधान (विशेष रूप से पहला संस्करण) जो कोर्नेलि द्वारा दिए गए एक से अधिक सुरक्षित है क्योंकि कम से कम आपको निष्पादित करने के लिए पुष्टि के लिए कहा जाएगा । जो का समाधान पुष्टि के बिना विशेष ब्लॉक का मूल्यांकन करेगा, अगर यह फ़ाइल में पाया जाता है। एक हमलावर को विशेष ब्लॉक के नाम का अनुमान लगाना होगा, निश्चित रूप से ...
मैं इस दृष्टिकोण का उपयोग बड़े दस्तावेजों को लिखने के लिए कर रहा हूं, जिनकी आवश्यकता है, उदाहरण के लिए, ऑर्ग-एक्सपोर्ट तंत्र के लिए अनुकूलन।