কিছু বাফার উপেক্ষা করার জন্য `পূর্ববর্তী-বাফার এবং` পরবর্তী-বাফার` তৈরি করুন


10

হেলমে আমি ব্যবহার করার সময় কিছু বাফার প্রদর্শন করা থেকে উপেক্ষা C-x bকরছি, আমি আদেশগুলি তৈরি করার উপায় খুঁজছি previous-bufferএবং next-bufferকিছু বাফার উপেক্ষা করে একই আচরণ করব।

উত্তর:


8

এখানে দুটি উপায় রয়েছে:

  1. আপনি যদি ফাংশনটির সংজ্ঞা switch-to-next-buffer(লাইব্রেরিতে window.el) একবার দেখে থাকেন তবে আপনি দেখতে পাবেন যে এটি ফ্রেফ প্যারামিটারের মান হ'ল প্রিডিকেট (যদি থাকে) দ্বারা বাফারগুলি ফিল্টার করে buffer-predicate। যে ফাংশন দ্বারা ব্যবহৃত হয় next-buffer

    আপনি সেই ফ্রেম প্যারামিটারটিকে একটি প্রিকিকেটে সেট করতে পারেন যা আপনার পছন্দ মতো ফিল্টার করে।

  2. আপনি switch-to-next-bufferযেভাবে চান ফিল্টার করার জন্য আপনি কেবল ফাংশনকে পরামর্শ দিতে পারেন। আপনি প্রায় একই সংজ্ঞা দ্বারা মূলত এর সংজ্ঞাটি প্রতিস্থাপন করবেন, তবে আপনি চান সেইভাবে ফিল্টার করুন।

একইভাবে switch-to-previous-buffer


7
(defvar my-skippable-buffers '("*Messages*" "*scratch*" "*Help*")
  "Buffer names ignored by `my-next-buffer' and `my-previous-buffer'.")

(defun my-change-buffer (change-buffer)
  "Call CHANGE-BUFFER until current buffer is not in `my-skippable-buffers'."
  (let ((initial (current-buffer)))
    (funcall change-buffer)
    (let ((first-change (current-buffer)))
      (catch 'loop
        (while (member (buffer-name) my-skippable-buffers)
          (funcall change-buffer)
          (when (eq (current-buffer) first-change)
            (switch-to-buffer initial)
            (throw 'loop t)))))))

(defun my-next-buffer ()
  "Variant of `next-buffer' that skips `my-skippable-buffers'."
  (interactive)
  (my-change-buffer 'next-buffer))

(defun my-previous-buffer ()
  "Variant of `previous-buffer' that skips `my-skippable-buffers'."
  (interactive)
  (my-change-buffer 'previous-buffer))

(global-set-key [remap next-buffer] 'my-next-buffer)
(global-set-key [remap previous-buffer] 'my-previous-buffer)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.