请问有人对如何within a function
使用 Tabbar 2.0 和当前版本的 Emacs 指定 () 切换到特定选项卡组有任何想法吗?例如,If the sky is blue, then switch to tab group "BLUE"
(和/或该特定选项卡组中最近查看的选项卡/缓冲区)。
我编写了一些函数,允许我按框架组织选项卡组,以使选项卡看起来与给定的框架相关联。但是,我的函数循环使用各种选项卡组,tabbar-forward-group
直到函数最终停在正确的组——这种方法非常慢。
该函数tabbar-current-tabset
用于确定当前具有焦点的选项卡组的名称。将其放在消息中时可以看到结果 - 例如,(message "%s" tabbar-current-tabset)
. 它也可以在函数内部使用,例如 . . . (if (not (equal (format "%s" tabbar-current-tabset) "common"))
. . . (tabbar-forward-group)
.
我发现只有一个工作功能允许选择特定的选项卡组,称为ido-jump-to-tab-group
(如下所述): https ://github.com/bamanzi/dotemacs-full/blob/master/init.d/25- tabbar.el 我正在寻找一种方法来选择特定的选项卡组(硬编码到函数中),而无需暂停使用ido . . .
. 我提到这一点是因为它可以帮助某人解决:( If the sky is blue, then switch to tab group "BLUE"
和/或该特定选项卡组中最近查看的选项卡/缓冲区)。
(defun ido-jump-to-tab-group ()
"Jump to a tabbar group."
(interactive)
(if (< emacs-major-version 24)
(ido-common-initialization))
(unless (and (featurep 'tabbar)
tabbar-mode)
(error "Error: tabbar-mode not turned on."))
(set tabbar-tabsets-tabset (tabbar-map-tabsets 'tabbar-selected-tab)) ;; refresh groups
(let* ( (groups (mapcar #'(lambda (group)
(format "%s" (cdr group)))
(tabbar-tabs tabbar-tabsets-tabset)))
(group-name (ido-completing-read "Groups: " groups)) )
(mapc #'(lambda (group)
(when (string= group-name (format "%s" (cdr group)))
(message "Switch to group '%s', current buffer: %s" (cdr group) (car group))
(switch-to-buffer (car group)) ))
(tabbar-tabs tabbar-tabsets-tabset))) )
在我的 Google 搜索过程中,我遇到了一个明显损坏的功能,它不适用于 Tabbar 2.0 和当前版本的 Emacs Trunk - 它被称为tabbar+switch-group
: https ://gist.github.com/Johniel/4324127 我提到这个功能是因为它是ido-jump-to-tab-group
与此问题相关的唯一一个(除了)。