विचारों के एक जोड़े।
सबसे पहले, यदि आप अपने आप को पर्याप्त उच्च आवृत्ति के साथ सहेजने जैसे कमांड का आह्वान करते हैं, तो आप कमांड के लिए एक छोटी कुंजी बाध्यकारी मान सकते हैं। उदाहरण के लिए, मैंने खुद को "ट्विच" भी पाया, इसलिए अब मैं संपादन को बचाने के लिए C-x C-s
के बजाय f2
का उपयोग करता हूं।
जो फ़ंक्शन मैं f2
से बांधता हूं, बिना किसी सहेजे गए बफर को बिना शर्त बचाता है। आपको यह उपयोगी लगेगा:
(defun force-save-all()
"Unconditionally saves all unsaved buffers."
(interactive)
(save-some-buffers t))
(global-set-key [f2] 'force-save-all)
अब मुख्य मुद्दे पर। आप (ध्यान दें कि force-save-all
कहा जाता है) कुछ इस तरह की कोशिश कर सकते:
(defun my-switch-to-buffer (buffer)
(interactive (list (read-buffer "Switch to buffer: " (cadr buffer-name-history) nil)))
(force-save-all)
(switch-to-buffer buffer))
(global-set-key "\C-xb" 'my-switch-to-buffer)
बेशक
, आप भी स्विच बफर कार्यक्षमता दूसरी कुंजी पर एक समारोह चाबी की तरह, बाँध सकता है इतना है कि यह एक एक प्रेस ऑपरेशन है।
मैंने सोचा कि @seth सलाह का उपयोग करने के बारे में एक अच्छा विचार था, लेकिन मैंने देखा कि ELISP मैनुअल बताता है कि advice not be used for key bindings। मुझे पूरा यकीन नहीं है कि यह मामला क्यों है, लेकिन मैनुअल ने एफवाईआई को सुझाव दिया है।
स्रोत
2009-09-12 01:35:39
मेरे द्वारा +1 ... बफर फ़ाइल के बारे में भूल गया -नाम – seth
बिल्कुल सही! धन्यवाद :) 6 साल बाद और अभी भी एक महान जवाब है –