* স্ক্র্যাচ * বাফার পুনরায় খুলুন


26

যদি আমি ঘটনাক্রমে ইমাসে স্ক্র্যাচ বাফারটি বন্ধ করে রাখি, তবে আমি কীভাবে একটি নতুন স্ক্র্যাচ বাফার তৈরি করব?


আপনার নিজের প্রশ্নের উত্তর দেওয়ার উদ্দেশ্যে দয়া করে প্রশ্ন করবেন না, বিশেষত যদি সেগুলির উত্তর দেওয়া সহজ হয়।
এডগার আরুটিউনিয়ান

8
@ এডগারআরটিউইয়ানিয়ান আপনার নিজের প্রশ্ন জিজ্ঞাসা করা এবং উত্তর দেওয়া ঠিক আছে ! তবে, প্রাইভেট বিটা চলাকালীন সহজ প্রশ্ন জিজ্ঞাসা করা এড়ানো উচিত: ব্যক্তিগত বিটা সাইটের জন্য সুরটি নির্ধারণ করে।
গিলস

1
@ গিলিস অবশ্যই আপনার নিজের প্রশ্নের উত্তর দেওয়া ভাল, তবে প্রশ্নটি জিজ্ঞাসা করার সাথে সাথেই আপনি উত্তর দিয়ে তিনটি প্রশ্ন করার পরে সন্দেহ হয়।
এডগার আরুটিউনিয়ান

2
@ অ্যাডগারআরটিউইউনিয়ান, জন এরিকসন আমাদের সহজ এজেড প্রশ্নের উত্তর দিতে চাইছেন। স্বাগতম
লুক

2
আমি মনে করি এটি যথেষ্ট ন্যায্য - কোনও নতুন-ইশ ব্যবহারকারীর পক্ষে এটি প্রায়শই স্পষ্ট হয় না যে স্ক্র্যাচ বাফার সম্পর্কে বিশেষ কিছু নেই , এবং @ সিগমার উত্তরটি বেশ ঝরঝরে।
মার্ক অফলিক

উত্তর:


29

শুধু তা পাল্টানোর দ্বারা বাফার পুনরায় তৈরি করুন: C-x b *scratch* RET। ইমাক্স 21.2, যেহেতু আপনি একটি বাফার নামক কলটি তৈরি করেন *scratch*, এটি স্বয়ংক্রিয়ভাবে লিস্প ইন্টারঅ্যাকশন মোডে রাখা হয়েছে


আপনার একটি বিশেষ ক্রিয়াকলাপ কেন দরকার? আমার জন্য, যদি আমি হত্যা করি *scratch*এবং তারপরে আবার স্যুইচ করি তবে এটি স্বয়ংক্রিয়ভাবে লিস্প-ইন্টারঅ্যাকশন মোডে সেট করা আছে।
তিখন জেলভিস

@ টিখন জেলভিস আহ, সত্যই। আমার এই ফাংশনটি আছে কারণ এটি পুরানো সংস্করণগুলিতে এটি করেনি (পরিবর্তনটি ২১.২ থেকে এসেছে, যা পরম পদে সাম্প্রতিক নয় তবে আমার বেশিরভাগ অংশের চেয়ে সাম্প্রতিক .emacs)।
গিলস 21'13

হ্যাঁ। আমি প্রথমবারের মতো কম্পিউটার ব্যবহার করার সময় প্রায় ইমাস 21.2 প্রকাশিত হয়েছিল । এটি একটি বেশ বড় পরম পার্থক্য;)।
তিখন জেলভিস

7

ততক্ষণে *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)

4

জিএনইউ ইম্যাকস ডিফল্ট বাইন্ডিংগুলি:

C-xb*scratch*

বা, আরও শব্দবাচক

  1. M-xswitch-to-buffer
  2. টাইপিং: *scratch*
  3. এবং তারপরে RETকীটি মারছে ।

*scratch*বাফার হ'ল বাফারটি শুরু হওয়ার পরে বাফার হয় এবং এর প্রধান মোড লিস্প ইন্টারঅ্যাকশন থাকে । দ্রষ্টব্য: *scratch*বাফারের জন্য মোডটি ভেরিয়েবল দ্বারা নিয়ন্ত্রিত হয় initial-major-mode


সাধারণভাবে আপনি যতগুলি "স্ক্র্যাচ" বাফার আপনার পছন্দমতো তৈরি করতে পারেন এবং আপনি পছন্দ করুন তবে নাম দিন।

C-x bNAME

বাফারে স্যুইচ করে NAME, এটি উপস্থিত না থাকলে এটি তৈরি করে। আপনি C-xC-wবা ( M-xwrite-fileযেখানে) সেভ করা উচিত এমন কোনও ফাইল বাছাই না করা পর্যন্ত একটি নতুন বাফার ডিস্কের কোনও ফাইলের সাথে সম্পর্কিত নয় ।


M-xtext-mode বর্তমান বাফারের প্রধান মোডটিকে পাঠ্য মোডে পরিবর্তন করে।

উপলব্ধ সমস্ত মোড (যে কোনও নতুন প্যাকেজগুলির প্রয়োজন ছাড়াই) সন্ধান করতে, আপনি টাইপ করে একটি তালিকা পেতে পারেন:

  1. M-xapropos-command
  2. তারপরে টাইপ করুন: -mode$
  3. এবং তারপরে টিপুন RET

2

আমি স্ট্রোক-এফ স্টাফের জন্য স্ক্র্যাচ বাফার ব্যবহার করতে চাই। শুধুমাত্র একটি থাকা কিছুটা হলেও সীমিত, সুতরাং আমার 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?
ডেভালোলাল

1

আমি কি একটি খালি বাফার তৈরির পরামর্শ দিতে পারি? মজার বিষয়টি হ'ল, আপনি প্রথমে বাফারটি তৈরি করেন এবং আপনি যদি সত্যিই চান তবে আপনি এটি সংরক্ষণ করতে পারেন।

(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

সৌজন্যে এরগোম্যাকস

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.