kb 13.09.2011 20:41

Добил таббар до идеала. Теперь он:
1. хорошо выглядит
2. переключается между табами по Ctrl+PgUp/PgDn
3. не делает тупорылую группировку по типу файла, а делает только две группы: одну для *фигни*, другую для всего остального (короче нормальные файлы порознь со всякой лабудой временной).

конфиг вот:
;;;; tabbar
(setq load-path (cons "~/.emacs.d/tabbar" load-path))
(require 'tabbar)

(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(tabbar-background-color "gray14")
'(tabbar-mode t nil (tabbar))
'(tabbar-separator (quote (1)))
'(tabbar-use-images nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(tabbar-button ((t (:inherit tabbar-default))))
'(tabbar-button-highlight ((t (:inherit tabbar-default :box nil))))
'(tabbar-default ((((class color grayscale) (background dark)) (:inherit variable-pitch :background "gray14" :foreground "grey75" :height 0.8))))
'(tabbar-selected ((t (:inherit tabbar-default :foreground "yellow"))))
'(tabbar-separator ((t (:background "gray14"))))
'(tabbar-unselected ((t (:inherit tabbar-default)))))

(defun tabbar-buffer-groups ()
"Return the list of group names BUFFER belongs to.
Return only one group for each buffer."
(cond
((string-equal "*" (substring (buffer-name) 0 1))
'("Emacs Buffer"))
((eq major-mode 'dired-mode)
'("Dired"))
(t
'("User Buffer"))
))
(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)

(global-set-key (kbd "<C-next>") 'tabbar-forward-tab)
(global-set-key (kbd "<C-prior>") 'tabbar-backward-tab)

скриншот вот:

Do you really want to delete ?