যদি আমি ঘটনাক্রমে ইমাসে স্ক্র্যাচ বাফারটি বন্ধ করে রাখি, তবে আমি কীভাবে একটি নতুন স্ক্র্যাচ বাফার তৈরি করব?
যদি আমি ঘটনাক্রমে ইমাসে স্ক্র্যাচ বাফারটি বন্ধ করে রাখি, তবে আমি কীভাবে একটি নতুন স্ক্র্যাচ বাফার তৈরি করব?
উত্তর:
শুধু তা পাল্টানোর দ্বারা বাফার পুনরায় তৈরি করুন: C-x b *scratch* RET
। ইমাক্স 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)
জিএনইউ ইম্যাকস ডিফল্ট বাইন্ডিংগুলি:
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
।
সৌজন্যে এরগোম্যাকস