emacs的tabbar.el包可以在每个窗口中添加(缓冲)标签,它与aquamacs捆绑在一起,也可以通过安装emacs-goodies-el包添加到emacs23中。
你们任何一个使用emacs的高手真正使用过tabbar吗?我有点习惯于使用标签,但我想知道是否没有使用它会更加高效,并且如果除了检查您的缓冲区列表(C-x C-b)之外,是否有其他方式可以获取当前项目文件的概述。
顺便说一句,我真的很喜欢textmate的项目抽屉(和标签),但emacs中类似的东西看起来就是难看。
我曾尝试使用它,但感觉它限制了我的工作流程,而不是改善了它。有很多出色的Emacs模式可以帮助组织许多缓冲区,但我并不认为将缓冲区映射到选项卡是其中之一。
想想最基本的场景 - 大量标签页。各种程序如何处理它 - 限制最大标签数(IntelliJ IDEA);启用选项卡滚动条(Firefox);无限减小选项卡大小(Google Chrome);创建选项卡行(IntelliJ IDEA)...这些解决方案都不是很好,通过在Emacs中不使用选项卡,我们少了一个要担心的问题。至少这是我的主观看法 - 其他人肯定会有不同的看法... 我个人只需要ido和iswitchb。
这里有一个关于ido的演示视频。
是的,我使用tabbar,以及sr-speedbar。
我自定义了tabbar以显示特定组中的文件,并修改了一些按键绑定,使浏览文件更容易。
顺便说一句,以下是我~/.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
(setq tabbar-buffer-groups-function 'tabbar-buffer-groups)
,它也适用于我的Emacs24.0.93。 - Adobe不。
我使用iswitch-b。
按下C-x b "缓冲区名前几个字母",然后按下C-s旋转到我想要的特定文件只需要不到2秒钟的时间,而且我不需要移动手到鼠标上。
不行。如果进行正确的自定义,我可能会被说服再次尝试它,但默认情况下对我来说几乎没有用处,因为我通常会打开超过100个缓冲区。ibuffer
通过其过滤和分组是我尝试过的管理大量缓冲区的最佳方法。
C-k
删除和C-y
移动组标题(除了默认组总是最后一个)来重新排列它们。 - phils(speedbar-change-initial-expansion-list "buffers")
(global-set-key [f8] 'speedbar-get-focus)
标签页并不仅适用于使用鼠标的用户。看看Vim的可能工作流程:使用gt命令跳转到下一个标签页,或者使用gT命令跳转到上一个标签页。假设你有一个专门为Vim设置的窗口:你可以轻松地在不同的缓冲区之间切换。是的,标签页可能更适合只有少量缓冲区的用户。如果你有数百个缓冲区,这种方法就不太可行了。
说实话,当涉及到标签、菜单和工具栏时,你会发现比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
这将迫使您忘记使用鼠标的旧方法(例如使用选项卡栏或菜单...),而改为使用手指。
到目前为止,我还没有尝试过它,但在我从XEmacs切换回GNU Emacs之前,我非常频繁地使用XEmacs标签。我发现当我打开许多源文件时,这是跳转到正确文件的最快方法之一。
现在我知道了tabbar,我正在尝试它;到目前为止,我很喜欢它。
如果你使用鼠标,选项卡确实很有用,而 Emacs 的主要优点之一(对我来说)就是可以避免使用鼠标。
因此,总的来说,选项卡并不是很有用。
当我浏览网页(使用 w3m)时,我发现选项卡很有用,但在那种情况下我使用了鼠标...
选项卡看起来好像被遗弃了一样。
那么elscreen怎么样呢?
可以通过http://melpa.milkbox.net/#/elscreen找到 - 或者安装emacs-elpa(或melpa)。
Elscreen对我非常有用。
ido
模式。你还有类似的极客工具吗?=) - aL3xa