将所有议程文件放在tabbar组emacs中

时间:2013-04-24 12:11:57

标签: emacs elisp

我正在使用tabbar来定义文件组。 有些是在“Emacs缓冲区”组中,有些是在“Dired”组中,而其他所有组织都在“用户缓冲区”组中。

我想在使用议程文件时添加另一个组 - 我希望它们出现在名为“议程缓冲区”的目标组中,而不是让所有文件都出现在“用户缓冲区”中并丢弃我的选项卡视图。 怎么可能这样做?

目前这是我的配置:

(defun tabbar-buffer-groups ()
  "Return the list of group names the current buffer belongs to.
This function is a custom function for tabbar-mode's tabbar-buffer-groups.
This function group all buffers into 3 groups:
Those Dired, those user buffer, and those emacs buffer.
Emacs buffer are those starting with “*”."
  (list
   (cond
    ((string-equal "*" (substring (buffer-name) 0 1)) "Emacs Buffer")
    ((eq major-mode 'dired-mode) "Dired")
    ((eq major-mode 'sr-mode) "Dired")
    (t "User Buffer")
    )))

(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)

1 个答案:

答案 0 :(得分:2)

为函数添加一个条件,如下所示:

(defun tabbar-buffer-groups ()
  "Return the list of group names the current buffer belongs to.
This function is a custom function for tabbar-mode's tabbar-buffer-groups.
This function group all buffers into 3 groups:
Those Dired, those user buffer, and those emacs buffer.
Emacs buffer are those starting with “*”."
  (list
   (cond
    ((string-equal "*" (substring (buffer-name) 0 1)) "Emacs Buffer")
    ((member (buffer-file-name) (mapcar 'expand-file-name org-agenda-files)) "Agenda")
    ((eq major-mode 'dired-mode) "Dired")
    ((eq major-mode 'sr-mode) "Dired")
    (t "User Buffer")
    )))