मैं एक अपेक्षाकृत अच्छा समाधान के साथ आया हूं, जो org-in-block-p
फ़ंक्शन पर निर्भर करता है , जिसे मैं एक बार देखने की सलाह दूंगा। निम्न कोड को आप init.el
फ़ाइल में जोड़ें :
(defun org-toggle-src-eval-no ()
"Will toggle ':eval no' on the src block begin line"
(defun in-src-block-p ()
"Returns t when the point is inside a source code block"
(string= "src" (org-in-block-p '("src"))))
(defun beginning-src ()
"Find the beginning of the src block"
(let ((case-fold-search t)) (search-backward "#+BEGIN_SRC")))
(defun toggle-eval-no ()
"Handles the toggling of ' :eval no'"
(save-excursion
(end-of-line)
(let ((case-fold-search t)) (search-backward "#+BEGIN_SRC")
(if (search-forward " :eval no" (line-end-position) "f")
(replace-match "")
(insert " :eval no")
))))
(if (in-src-block-p) (toggle-eval-no)))
(defun add-org-toggle-src-key ()
(local-set-key (kbd "C-c t") (lambda () (interactive) (org-toggle-src-eval-no))))
(add-hook 'org-mode-hook 'add-org-toggle-src-key)
यह फ़ंक्शन को परिभाषित करता है org-toggle-src-eval-no
और इसे वही करना चाहिए जो आप चाहते हैं; किसी भी समय आप एक कोड ब्लॉक के अंदर हैं, यह उपस्थिति को टॉगल करेगा :eval no
। मैंने इसे करने के लिए बाध्य किया है C-c t
, लेकिन जो कुछ भी आप चाहते हैं, उसे मैप करने के लिए स्वतंत्र महसूस करें। हैप्पी ऑर्ग-इंग।