অযাচিত বাফারগুলি খোলার থেকে আটকাবেন


18

আমি আমার দৈনিক জাভাস্ক্রিপ্ট সম্পাদনার জন্য ইম্যাক্স ব্যবহার করছি, আমি সিক্স বাম এবং সিক্স রাইট ব্যবহার করে বাফারগুলির মধ্যে স্যুইচ করতে এবং এটির সাথে আমি ভাল আছি (এমনকি আমি যে ফাইলটি আমি সংশোধন করছি তার পথটি জানতে অসুবিধা হলেও)।

আমার সমস্যাগুলি:

  1. প্রারম্ভকালে আমি সবসময়ই করেছি *scratch*এবং *Messages*খোলার পরে, আমি ভেবেছিলাম যে (kill-buffer "*scratch*")আমার .emacs রাখার ফলে সমস্যাটি সমাধান হবে, তবে এটি নয়, আপনার কি কোনও পরামর্শ আছে?

  2. আমি যখন ফাইলগুলি খুলি আমি সর্বদা ট্যাব স্বতঃপূরণ করি, সুতরাং প্রতিবার আমি *Messages*সম্পূর্ণ করার বিকল্পগুলির সমন্বয়ে একটি নতুন বাফার তৈরি করি, আমি কীভাবে এটি তৈরি করতে বাধা দেব বা আরও ভাল, আমি ইম্যাকগুলি কীভাবে এটি তৈরি করতে পারি তা করার পরে, আমার পছন্দ হয়েছে?

আপনার মতামতটি বলুন আপনি যদি ভাবেন যে আমি এমন কিছু করছি যা আমার উপরে যেমন ছিল তেমন নেভিগেটের সাথে "এটি হওয়া উচিত নয়" way


1
ট্রির পরামর্শ অনুসারে আপনি বাফারগুলি স্যুইচ করার অন্যান্য উপায়গুলিও অন্বেষণ করতে চাইতে পারেন। যদি আপনি অন্য কোনও পদ্ধতি বেছে নেন যা অনুক্রমিক না হয় তবে আপনি এখনই চেয়েছিলেন বাফারে চলে যেতে পারেন, তাই অযাচিত বাফারগুলি বাফার তালিকায় রয়েছে কিনা তাতে কিছু আসে যায় না। আমি নিজেই ইসভিচবি ব্যবহার করি।
টম

উত্তর:


23

এটি আমাকে পাগল করে দিয়েছে .. যতক্ষণ না আমি এটি স্থির করি।

আপনার প্রবাহটি স্ক্রু করার জন্য এখন কোনও স্ক্র্যাচ , বার্তা বা সম্পূর্ণ বাফার নেই। উপভোগ করুন!

এটি আপনার .emacs এ রাখুন:

;; Makes *scratch* empty.
(setq initial-scratch-message "")

;; Removes *scratch* from buffer after the mode has been set.
(defun remove-scratch-buffer ()
  (if (get-buffer "*scratch*")
      (kill-buffer "*scratch*")))
(add-hook 'after-change-major-mode-hook 'remove-scratch-buffer)

;; Removes *messages* from the buffer.
(setq-default message-log-max nil)
(kill-buffer "*Messages*")

;; Removes *Completions* from buffer after you've opened a file.
(add-hook 'minibuffer-exit-hook
      '(lambda ()
         (let ((buffer "*Completions*"))
           (and (get-buffer buffer)
                (kill-buffer buffer)))))

;; Don't show *Buffer list* when opening multiple files at the same time.
(setq inhibit-startup-buffer-menu t)

;; Show only one active window when opening multiple files at the same time.
(add-hook 'window-setup-hook 'delete-other-windows)

বোনাস:

;; No more typing the whole yes or no. Just y or n will do.
(fset 'yes-or-no-p 'y-or-n-p)

1
এর জন্য আপনাকে অনেক ধন্যবাদ, আমি আশা করি আমি আপনাকে আরও খ্যাতি দিতে পারি।
আলবার্তো জ্যাকাকাগনি

আপনাকে স্বাগতম! : ডি
ওলে

2
(if (get-buffer "*Messages*") (kill-buffer "*Messages*"))কোনওটি কনফিগারেশন পুনরায় লোড করার ক্ষেত্রে এটি করা কি বুদ্ধিমান হবে না ? খাঁটিভাবে আপনার অন্য ম্যাক্রো দ্বারা অনুপ্রাণিত।
সাইমন 'পুনরায় ইনস্টল মনিকা'

2
আমি বুঝতে পারি নি যে এই বাফাররা আমাকে এড়িয়ে চলা পর্যন্ত আমাকে কতটা বিরক্ত করেছিল।
অটোম্যাটন

এটা তোলে Emacs ক্র্যাশ
Alper

6

আচ্ছা ... এটি ইম্যাক্সের আংশিকভাবে কাজ করে তবে সাধারণভাবে স্যুইচিংয়ে সহায়তা করার জন্য এমন কিছু জিনিস আপনি করতে পারেন।

প্রথমত, ইমাক্সের কমপক্ষে একটি বাফার থাকতে হবে। সুতরাং, এমনকি যদি আপনি পরিত্রাণ পেতে চেয়েছিলেন *scratch*এবং *Messages*, আপনি চান না এমন আরও একটি বাফার আপনার সাথেই ছেড়ে দেওয়া হবে (বা আপনি যে বিন্দুটি পেয়ে যাচ্ছেন ইমাকস কেবল আপনার শেষ kill-bufferঅনুরোধটিকে উপেক্ষা করেছেন কারণ এটি সেই বাফারটি পুনরায় তৈরি করছিল) খ / সি এর জন্য একটি বাফার প্রয়োজন)।

সুতরাং, যেখানে বাফারগুলি স্যুইচিং আরও বেশি অর্থবোধ করে সেই বিন্দুতে পৌঁছানোর সর্বোত্তম উপায়টি হ'ল আসলে আপনি যে বাফারে যেতে চান তা থাকা।

যার অনেকগুলোই অধীনে এ গিয়ে Emacs উইকি তালিকাভুক্ত করা হয় - আর, যখন আপনি যে কাজ করেছেন, আপনি সব অপশন / বাফার পাল্টাবার জন্য আপনার জন্য উপলব্ধ প্যাকেজ তাকান পারেন SwitchingBuffersidoহিসাবে বেশ জনপ্রিয়, iciclesএবং হয় anything


1
আমি এর সাথে আমার সেশনগুলি সংরক্ষণ করছি (desktop-save-mode 1), তাই প্রায় সবসময় আমার শুরুতে কিছু খোলা থাকে, আমি এই প্যাকেজগুলি দেখব, ধন্যবাদ।
আলবার্তো জ্যাকাকাগনি

1

যদি কেউ কেবল * স্ক্র্যাচ * বাফার অপসারণ করতে এবং * বার্তা * বাফারটি রেখে যেতে আগ্রহী হয় তবে এই কোডটি আমার পক্ষে কাজ করেছে:

(defun acg-initial-buffer-choice ()
  (if (get-buffer "*scratch*")
      (kill-buffer "*scratch*"))
  (get-buffer "*Messages*"))

(setq initial-buffer-choice 'acg-initial-buffer-choice)

একটি জিনিস আপনার মনে রাখা উচিত, যদি কোনও সময়ে ইমাসকে প্রদর্শন করার জন্য কোনও বাফার না রেখে দেওয়া হয় (যেমন আপনি সমস্ত বাফারকে হত্যা করেছেন) এটি একটি * স্ক্র্যাচ * বা একটি বার্তা * বাফার তৈরি করবে, তাই নিশ্চিত হয়ে নিন যে আপনি জিতেছেন ' আপনার কর্মপ্রবাহের সময় সমস্ত বাফার মুছে ফেলা হচ্ছে না, বা * স্ক্র্যাচ * আবার জীবনে ফিরে আসতে পারে।

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