দলে বিভক্ত বাফার করুন
এটি ট্যাববারের সাহায্যে সম্ভব। আপনি গ্রুপগুলিতে গ্রুপ বাফারগুলিতে বিধিগুলি যুক্ত করতে পারেন। এখানে একটি বেসিক স্নিপেট:
(defun tabbar-buffer-groups ()
"Returns the list of group names the current buffer belongs to."
(list
(cond
;; ADD RULES TO SPLIT BUFFERS IN GROUPS HERE!
;; if buffer is not grouped by the rules you would add above
;; put it in the "General" group:
(t
"General"
))))
উদাহরণ বিধি:
- বাফারের নাম তালিকাভুক্ত করুন:
((member (buffer-name)
'("*scratch*" "*Messages*" "*Help*"))
"Common" ;; this is a group name
)
- সাধারণ বাফারগুলির বিষয়ে আমি প্রতিটি বাফারকে "কমন" রাখতে পছন্দ করি যা নামটি একটি তারা দিয়ে শুরু হয়। এটি এই নিয়মের জন্য বাফার তৈরির একটি উদাহরণ দেয়:
((string-equal "*" (substring (buffer-name) 0 1))
"Common"
)
- এখানে মেজর-মোড দ্বারা গ্রুপগুলি বাফার করার একটি উদাহরণ রয়েছে:
((memq major-mode
'(org-mode text-mode rst-mode))
"Text"
)
- মোডের উপর ভিত্তি করে গ্রুপ তৈরির বাফারগুলির উদাহরণ এখানে থেকে উত্পন্ন হয়েছে:
((or (get-buffer-process (current-buffer))
;; Check if the major mode derives from `comint-mode' or
;; `compilation-mode'.
(tabbar-buffer-mode-derived-p
major-mode '(comint-mode compilation-mode)))
"Process"
)
- এখানে regexp দ্বারা ট্যাবগুলিকে গ্রুপিংয়ের একটি উদাহরণ:
((string-match "^__" (buffer-name))
"Templates"
)
- প্রধান মোড অনুসারে গ্রুপ বাফারগুলি:
(if (and (stringp mode-name)
;; Take care of preserving the match-data because this
;; function is called when updating the header line.
(save-match-data (string-match "[^ ]" mode-name)))
mode-name
(symbol-name major-mode))
একবার আপনি নিয়মগুলি রচনা করলে আপনি + বা - ট্যাববারের ট্যাব লাইনে টগল গ্রুপগুলিতে, এবং press এবং ▶ বাফারগুলির মধ্যে স্যুইচ করতে টিপতে পারেন। বা কেবল নিম্নলিখিত ডিফল্টগুলি আবদ্ধ করুন:
tabbar-forward
tabbar-backward
tabbar-forward-group
tabbar-backward-group
এবং কীবোর্ড সহ ট্যাব এবং ট্যাব গোষ্ঠীর মধ্যে সরান।
ব্যক্তিগতভাবে আমি ট্যাবগুলি গোষ্ঠী করি, যাতে আমি কী খোলার তা দেখতে পাই তবে সেগুলি দিয়ে নেভিগেট করি ido-switch-buffer
।
নিয়মের সেটের মধ্যে স্যুইচ করুন
এছাড়াও কেউ বাফার গ্রুপিংয়ের নিয়ম এবং এর মধ্যে চক্রের বিভিন্ন সেটকে সংজ্ঞায়িত করতে পারে। এখানে দুটি সেট বাফার গ্রুপিংয়ের নিয়মের মধ্যে সাইক্লিংয়ের একটি উদাহরণ রয়েছে:
;; tab-groups!
(setq tbbr-md "common")
(defun toggle-tabbar-mode ()
"Toggles tabbar modes - all buffers vs. defined in the `tabbar-buffer-groups'."
(interactive)
(if (string= tbbr-md "groups")
(progn ;; then
(setq tabbar-buffer-groups-function 'tabbar-buffer-groups-common)
(setq tbbr-md "common"))
(progn ;; else
(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)
(setq tbbr-md "groups"))))
;; by default - all tabs:
(setq tabbar-buffer-groups-function 'tabbar-buffer-groups-common)
এটি tabbar-buffer-groups-common
এবং tabbar-buffer-groups
ট্যাব গোষ্ঠী নির্ধারণের মধ্যে টগল করে ।
নাম অনুসারে ট্যাববার বাফারগুলি বাছাই করুন
নাম অনুসারে ট্যাববার বাফারগুলি বাছাই করা আমার পক্ষে উপকারী। এটি কীভাবে পাবেন তা এখানে:
(defun tabbar-add-tab (tabset object &optional append_ignored)
"Add to TABSET a tab with value OBJECT if there isn't one there yet.
If the tab is added, it is added at the beginning of the tab list,
unless the optional argument APPEND is non-nil, in which case it is
added at the end."
(let ((tabs (tabbar-tabs tabset)))
(if (tabbar-get-tab object tabset)
tabs
(let ((tab (tabbar-make-tab object tabset)))
(tabbar-set-template tabset nil)
(set tabset (sort (cons tab tabs)
(lambda (a b) (string< (buffer-name (car a)) (buffer-name (car b))))))))))