awesome-tab 1.0 发布, 开箱即用的Emacs标签插件


#243

解决了, 更新最新版即可.

补丁在 https://github.com/manateelazycat/awesome-tab/commit/2262a6e24f6bbd236e7a1970b7824688e5ac072e

原因是这几天都在去掉鼠标相关的代码, 去掉以后, 发现原来渲染按钮的函数 awesome-tab-line-buttons 可以去掉了, 去掉这个函数就好了.


#244

我现在也回到buffer切换的操作,当tab太多,反倒不如操作buffer


#245

用了几天,也关了


#246

不用归不用,没必要到作者的帖子下面说一句吧…


#247

我们阅读代码的时候, 经常会进行窗口上下滚动, 很多时候一个函数很长的时候, 函数名就会超出窗口顶部. 这时候我们很容易忘记窗口顶部这一段代码是隶属于哪个函数的? 一旦发生这种情况, 就需要回滚一下, 看一下是哪个函数名, 如果函数实现很长就会引起上下来回滚动窗口, 最终打断我们思考的思路.

今天这个补丁 https://github.com/manateelazycat/awesome-tab/commit/c7936baf47602bb80add0cf99ef5eb33e42dcd15 的作用是:

当函数名被顶出窗口外面时, 把函数名显示在当前标签上
这样就可以实时知道窗口顶部那段代码是隶属于哪个函数
避免编码思路被打断

这个补丁启发于社区大神贡献的补丁: https://github.com/manateelazycat/awesome-tab/pull/27 但是我嫌这个补丁的实现太脏了, 重新用 which-func 模块实现了一遍, 避免使用 advice 这种脏的实现, 同时也解决了空间显示的设计, 不用受限制于标签栏的宽度.


#248

我这边发现这个功能是这样的逻辑,我不确定是懒猫有自己的考虑还是我这边的问题 :joy:

  1. 在程序中标签栏显示的函数名是窗口顶部的那个函数,不是光标处的函数,顶部那个函数比较短只有几行,光标已经在别的函数那里了上面依旧显示顶部的那个函数(尝试过C程序和elisp程序)。
  2. 如果标签栏显示了一个函数的函数名,那么直到第二个函数第一行到了窗口顶部,标签栏的函数名才会变过来,哪怕这两个函数中间有一段空白,标签栏显示的依旧是前一个函数的函数名。

#249

这个真不错,得试试


#250

欢迎提交更好的交互思路


#251

我是在想可不可以根据光标所处的位置来显示标签栏上的函数名,这样的话不管是一个超出窗口空间的函数还是一个简短的函数,标签栏上的函数名都可以更直观。不知道能不能实现,好不好实现 :joy:


#252

光标处是很容易实现,但是你现在都有光标,你为什么看不到函数名呢?除非你是一个超长的函数


#253

en…可能是我个人觉得根据光标的位置来做判断条件更符合这个逻辑,功能上来说也还是很实用的,非常感谢 :joy: :muscle:


#254

不知道目前 awesome-tab 的实现中加入手动控制哪些 buffer 显示在 tab 列表的函数容不容易实现?我个人使用 tab 的情景是最近需要频繁切换的三四个 buffer,而不是像目前默认所有打开的 buffer。从我个人使用习惯来说,目前的方式我常常需要通过 helm 来切换 buffer。

比如默认 tab 列表是空的,可以用命令将当前 buffer 添加到 tab 列表,之后也可以再将 buffer 移出 tab 列表。

我不太懂 elisp,这个要求能用目前的 group rule 来实现么?


#255

hide group 看一下文档很简单的。


#256

好的,找时间看一下。多谢了。


#257

有没有awesome-tab-first, awesome-tab-second, awesome-tab-third这种标签; 类似awesome-tab-select-beg-tab,可以直接绑定s-1快捷键?


#258

社区大神又来优化性能了, 哈哈哈


#259

这个补丁已经实现了索引定位的功能: https://github.com/manateelazycat/awesome-tab/commit/1413db40066e61b36f0623609c65bf4fb6d90bb0

把 s-1, s-2, s-3 … s-9, s-0 这些按键都绑定到 awesome-tab-select-visible-tab 命令上.

awesome-tab-select-visible-tab 会自动提取按键后面的数字并切换到对应的标签上.

注意, awesome-tab-select-visible-tab 只是切换可视区域的标签, 不包括可视区域外的标签, s-0 表示最后一个标签.


#260

索引定位如果可以像 avy 那样子,显示每个 tab 的编号,然后再按对应的按键切换过去就好了。 awesome-tab-select-visible-tab 还要用眼睛算一下要切换的 tab 是可视区域第几个。