यहां बफर-विशिष्ट कुंजी बाइंडिंग सेट करने का एक सामान्य तरीका है।
- एक अस्थायी माइनर मोड बनाएँ (नीचे स्निपेट को इसमें सहेजें
temp-mode.el
और require
इसे अपने में रखें init.el
।
- उस
temp-mode
मामूली मोड को सक्षम करें और केवल उस बफर-मोड में परिभाषित करें, जिसकी आपको आवश्यकता है।
नीचे Local Variables
स्निपेट को बफर में रखें जहां आप कस्टम कुंजी बंधन चाहते हैं। नीचे org-mode
फाइलों के उदाहरण दिए गए हैं ।
बफर वन में
# Local Variables:
# eval: (temp-mode 1)
# eval: (define-key temp-mode-map (kbd "<f10>") 'function-ONE)
# End:
यदि कुछ अन्य बफर उसी कुंजी-बाइंडिंग को फिर से परिभाषित करते हैं,
बफर TWO में
# Local Variables:
# eval: (temp-mode 1)
# eval: (define-key temp-mode-map (kbd "<f10>") 'function-TWO)
# End:
तब नया बंधन करने पर प्रभावी हो जाता है M-x revert-buffer
।
यदि मैं इन दो बफ़र्स के बीच बहुत बार स्विच करने की आवश्यकता है तो मुझे क्या करना होगा और अगर मुझे F10दोनों में बाइंडिंग का उपयोग करना है :
- बफर वन में काम करें,
C-x C-s
(सेव करें) और बफर टू में स्विच करें
revert-buffer
(रिफ्रेश बाइंडिंग), बफर टू में काम करें, C-x C-s
और बफर वन पर जाएं
revert-buffer
(रिफ्रेश बाइंडिंग), बफर वन में काम करें, C-x C-s
और बफर टू में स्विच करें
लेकिन मैं अलग-अलग बफ़र-विशिष्ट कमांड को अलग-अलग कुंजी से बाँधूँगा।
अस्थायी मामूली मोड
;; temp-mode.el
;; Temporary minor mode
;; Main use is to enable it only in specific buffers to achieve the goal of
;; buffer-specific keymaps
(defvar temp-mode-map (make-sparse-keymap)
"Keymap while temp-mode is active.")
;;;###autoload
(define-minor-mode temp-mode
"A temporary minor mode to be activated only specific to a buffer."
nil
:lighter " Temp"
temp-mode-map)
(provide 'temp-mode)