यदि मैंने एमएसीएस में गलती से स्क्रैच बफर को बंद कर दिया है, तो मैं एक नया स्क्रैच बफर कैसे बना सकता हूं?
यदि मैंने एमएसीएस में गलती से स्क्रैच बफर को बंद कर दिया है, तो मैं एक नया स्क्रैच बफर कैसे बना सकता हूं?
जवाबों:
बस इसे फिर से स्विच करके बफर बनाएं C-x b *scratch* RET
:। Emacs 21.2 के बाद से, यदि आप नामक एक बफर बनाते हैं, तो *scratch*
यह स्वचालित रूप से लिस्प इंटरैक्शन मोड में डाल दिया जाता है ।
*scratch*
और फिर वापस स्विच करता हूं, तो यह अपने आप लिस्प-इंटरैक्शन मोड पर सेट हो जाता है।
.emacs
)।
यकीनन बेहतर है कि *scratch*
जब भी यह डिलीट हो जाए , बफर को फिर से स्वचालित रूप से बनाएं और इसके नाम को फिर से टाइप करने से बचें।
(defun prepare-scratch-for-kill ()
(save-excursion
(set-buffer (get-buffer-create "*scratch*"))
(add-hook 'kill-buffer-query-functions 'kill-scratch-buffer t)))
(defun kill-scratch-buffer ()
(let (kill-buffer-query-functions)
(kill-buffer (current-buffer)))
;; no way, *scratch* shall live
(prepare-scratch-for-kill)
;; Since we "killed" it, don't let caller try too
nil)
(prepare-scratch-for-kill)
GNU एमएसीएस डिफ़ॉल्ट बाइंडिंग:
C-xb*scratch*
या, अधिक मौखिक रूप से
switch-to-buffer
*scratch*
*scratch*
बफर बफर स्टार्टअप पर चयन किया है और प्रमुख मोड है लिस्प इंटरेक्शन । नोट: *scratch*
बफर के लिए मोड चर द्वारा नियंत्रित किया जाता है initial-major-mode
।
सामान्य तौर पर आप जितने चाहें उतने "स्क्रैच" बफ़र बना सकते हैं और उन्हें अपने द्वारा चुने गए नाम भी दे सकते हैं।
C-x bNAME
NAME
यदि यह मौजूद नहीं है, तो बफर में स्विच करता है। एक नया बफ़र डिस्क पर एक फ़ाइल के साथ जुड़ा नहीं है जब तक कि आप एक फ़ाइल का चयन करने के लिए C-xC-w(या M-xwrite-file
) का उपयोग नहीं करते हैं जहां इसे सहेजा जाना चाहिए।
M-xtext-mode
वर्तमान बफ़र के प्रमुख मोड को टेक्स्ट मोड में बदलता है।
सभी उपलब्ध तरीकों को खोजने के लिए (जो कि किसी नए पैकेज की आवश्यकता के बिना), आप टाइप करके एक सूची प्राप्त कर सकते हैं:
apropos-command
-mode$
मुझे फेंक-दूर के सामान के लिए खरोंच बफ़र्स का उपयोग करना पसंद है। केवल एक होने के कारण कुछ हद तक सीमित है, इसलिए मेरे पास scratch
एक नया स्क्रैच बफर खोलने के लिए एक इंटरैक्टिव कमांड के रूप में है (कोई फर्क नहीं पड़ता कि कितने पहले से मौजूद हैं):
(defun scratch ()
"create a new scratch buffer to work in. (could be *scratch* - *scratchX*)"
(interactive)
(let ((n 0)
bufname)
(while (progn
(setq bufname (concat "*scratch"
(if (= n 0) "" (int-to-string n))
"*"))
(setq n (1+ n))
(get-buffer bufname)))
(switch-to-buffer (get-buffer-create bufname))
(if (= n 1) initial-major-mode))) ; 1, because n was incremented
से अपनाया गया: http://everything2.com/index.pl?node_id=1038451
M-x recover-session
वे पुनर्प्राप्त नहीं करते हैं। क्या किसी ने इसे संशोधित किया है जैसे कुछ का उपयोग करने के लिए make-temp-file
?
क्या मुझे खाली बफर बनाने का सुझाव देना चाहिए? दिलचस्प बात यह है कि, आप पहले बफर बनाते हैं, और आप इसे बाद में सहेजते हैं, अगर आप वास्तव में चाहते हैं।
(defun my-empty-buffer ()
"Open a new empty buffer."
(interactive)
(let ((buf (generate-new-buffer "untitled")))
(switch-to-buffer buf)
(funcall (and initial-major-mode))
(setq buffer-offer-save t)))
आपको अपने init फ़ाइल में लिस्प करने के लिए प्रारंभिक-प्रमुख-मोड सेट करना होगा और आपको मेरे शॉर्टकट की तरह मेरे खाली-बफर को बांधना चाहिए C-n
।
एर्गमेकस के सौजन्य से