32

emacs tabbar.el 包向每个窗口添加(缓冲区)选项卡,并且是 aquamacs 的标准配置,并且可以使用 emacs-goodies-el 包添加到 emacs23。

你们中的任何铁杆 emacs 用户实际上都在使用 tabbar 吗?我有点习惯使用选项卡,但我想知道没有它们的工作是否会更有效率,以及除了检查缓冲区列表 (Cx Cb) 之外是否还有其他方法可以概览当前项目文件。

作为旁注,我真的很喜欢 textmate 的项目抽屉(和选项卡),但在 emacs 中任何类似的东西看起来都非常可怕。

4

11 回答 11

32

我试过使用它,但我觉得它限制了我的工作流程而不是改进它。有很多优秀的 Emacs 模式可以帮助组织许多缓冲区,我根本不觉得将缓冲区映射到选项卡是其中一种方式。

想想最基本的场景——很多标签。不同的程序如何处理它 - 限制最大标签(IntelliJ IDEA);启用标签栏滚动(Firefox);无限减小标签大小(谷歌浏览器);创建选项卡行(IntelliJ IDEA)......这些解决方案都不是那么好,并且通过在 Emacs 中没有选项卡,我们不必担心一个更少的问题。至少这是我的主观意见 - 其他人肯定会不同意......我个人只需要idoiswitchb

ido 运行视频:http ://www.youtube.com/watch?v=lsgPNVIMkIE

于 2010-09-28T10:58:06.873 回答
22

是的,我使用 tabbar 和 sr-speedbar。

我自定义标签栏以显示特定组中的文件,并修改一些键绑定以使导航文件更容易。

FWIW,这是我的 ~/.emacs 中的相关部分:

(require 'tabbar)
; turn on the tabbar
(tabbar-mode t)
; define all tabs to be one of 3 possible groups: “Emacs Buffer”, “Dired”,
;“User Buffer”.

(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"
     )
    (t
     "User Buffer"
     )
    ))) 

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

(global-set-key [M-s-left] 'tabbar-backward)
(global-set-key [M-s-right] 'tabbar-forward)

emacswiki 上还有很多其他提示: http ://www.emacswiki.org/emacs/TabBarMode

于 2010-09-28T15:22:41.653 回答
10

不。

我使用 iswitch-b

Cx b“缓冲区的前几个字母”,然后 Cs 旋转到我想要的特定文件需要我不到 2 秒的时间,而无需将手移到鼠标上。

于 2010-09-28T15:28:50.940 回答
7

不,我可能会被说服通过正确的自定义再试一次,但默认情况下它对我来说毫无用处,因为我习惯性地打开超过 100 个缓冲区。ibuffer它的过滤和分组是我尝试过的管理大量缓冲区的最佳方式。

于 2010-09-28T21:32:06.783 回答
5

选项卡不是为鼠标用户保留的。查看 vim 可能的工作流程: gt 转到下一个选项卡,或 gT 转到上一个。假设您有一个专用于 vim 的窗口:您可以轻松地从一个缓冲区切换到另一个缓冲区。是的,选项卡可能适用于缓​​冲区很少的用户。如果你有数百个,这是行不通的。

于 2014-02-10T22:26:01.627 回答
5

我喜欢使用 speedbar 进行快速缓冲区导航。我的 .emacs 中有

(speedbar-change-initial-expansion-list "buffers")
(global-set-key  [f8] 'speedbar-get-focus)

因此,当我按下 F8 时,会弹出一个带有打开缓冲区列表的新框架,您可以将点移到要选择的缓冲区上并激活它。又一个 F8 回到主框架。

于 2010-09-28T12:55:43.913 回答
2

选项卡只有在您使用鼠标时才真正有用,而 Emacs 的主要好处之一(对我而言)是我可以避免使用鼠标。

所以,不,tabbar 通常没有用。

当我浏览网页(使用w3m)时,我确实发现这些选项卡很有用,但在那种情况下我使用的是鼠标......

于 2010-09-28T15:20:20.910 回答
2

坦率地说,当谈到选项卡、菜单和工具栏时,您会发现比 emacs 更好的编辑器。Emacs 明确鼓励您使用键盘并让鼠标保持休眠状态。

当您打开大量缓冲区时,Tabbar 或任何其他选项卡管理工具都会遇到困难。您也不想在选项卡中显示所有缓冲区。必须将手从键盘上移开以抓住鼠标并单击选项卡,然后将手从鼠标上移开并将其放在键盘上,这显然是浪费时间,而可以使用简单的击键代替。

您可以对您的 emacs 和您做的最好的事情是在您的 .emacs 中进行以下配置:

(menu-bar-mode -1)          ;hide menu-bar
(scroll-bar-mode -1)            ;hide scroll-bar
(tool-bar-mode -1)          ;hide tool-bar

这将迫使您忘记使用鼠标的旧方式(例如使用标签栏或菜单...),而改用手指。

于 2010-09-29T06:43:49.927 回答
1

Tabbar 看起来像是被上帝遗忘了

那么elscreen呢?

可以通过http://melpa.milkbox.net/#/elscreen找到- 或安装的 emacs-elpa(或 melpa)。

Elscreen 对我来说非常有用。

于 2013-10-17T01:10:59.740 回答
1

到目前为止,我还没有尝试过,但是在我从 XEmacs 切换回 GNU Emacs 之前,我非常频繁地使用了 XEmacs 选项卡。我发现当我打开许多源文件时,这是跳转到正确文件的最快方法之一。

现在我知道了 tabbar,我正在尝试它;到目前为止,我喜欢它。

  • 约翰
于 2010-09-28T12:22:11.383 回答
0

C-x b<RET>总是给你最后编辑的缓冲区。你用标签做什么?主要是在两个文件之间来回切换。你去吧。

于 2011-06-03T17:22:28.457 回答