【问题标题】:Do you use Emacs tabbar?你使用 Emacs 标签栏吗?
【发布时间】:2011-04-18 04:32:30
【问题描述】:

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

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

顺便说一句,我真的很喜欢 textmate 的项目抽屉(和选项卡),但在 emacs 中任何类似的东西看起来都非常丑陋。

【问题讨论】:

    标签: emacs tabs emacs23


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      那么elscreen呢?

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

      Elscreen 对我来说非常有用。

      【讨论】:

      • elscreen 似乎让我的 emacs 屏幕在回车时闪烁 :( 原因不明。
      【解决方案3】:

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

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

      一个 ido 在行动的视频:http://www.youtube.com/watch?v=lsgPNVIMkIE

      【讨论】:

      • +1 表示ido 模式。你有更多类似的极客工具吗? =)
      • 我使用 C-x b 和 helm。没有尝试过iswitchb,但我想它是相似的。伙计,我喜欢掌舵!
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        坦率地说,当谈到选项卡、菜单和工具栏时,您会发现比 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
        

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

          • 谢谢,我不知道 ibuffer 过滤器选项。
          • 我使用 Filter by pathname 技巧 (emacswiki.org/emacs/IbufferMode#toc9 ) 来启用 / f 来匹配 dired 缓冲区,然后 / g 从当前过滤器中创建一个命名组。大多数时候,这就是我需要避免不知所措 :) 如果您要使用过滤器组一段时间,您可以保存它们,您可以通过 C-k illing 和 C-y anking 重新排列它们组标题(除了总​​是最后的默认)。
          【解决方案7】:

          没有。

          我用iswitch-b

          C-x b “缓冲区的前几个字母”,然后 C-s 旋转到我想要的特定文件,我在 2 秒内无需将手移到鼠标上。

          【讨论】:

            【解决方案8】:

            是的,我使用 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

            【讨论】:

            • 实际上它适用于我的 Emacs24.0.93,即使没有 (setq tabbar-buffer-groups-function 'tabbar-buffer-groups)
            【解决方案9】:

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

            所以,不,标签栏通常没有用。

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

            【讨论】:

            • 请注意,w3m 似乎有自己的标签——是的,它们非常有用,虽然从 PuTTY 会话中打开有点棘手......
            • 相反。只需将击键 Ctrl-PgUp 和 Ctrl-PgDn 绑定到移动到上一个选项卡和下一个选项卡的命令,您就可以在不使用鼠标的情况下导航选项卡。
            【解决方案10】:

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

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

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

            【讨论】:

              【解决方案11】:

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

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

              • 约翰

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-12-11
                • 1970-01-01
                • 2019-09-10
                • 1970-01-01
                • 2010-10-16
                • 1970-01-01
                • 2013-11-11
                相关资源
                最近更新 更多