更简洁的标签栏设计
Emacs
字数991 2021-10-26

Emacs编程流

在Emacs中,不同的使用场景有不同的使用方法,有些场景需要直觉操作,有些场景需要效率优先。

日常Emacs使用场景简单总结主要有以下几类:

标签栏的优势

我们编程时,时间占用比最大的其实就是常用文件间的快速编辑和快速切换,社区常用的搜索框架都需要搜索一下关键字,特别是在专注思考编程问题时,频繁的关键字搜索对心智负担比较大,容易影响思考的流畅性。

当常用文件在10个以内时,标签栏的直觉化操作就非常方便,EmacsChina社区的一个道友还专门写了一篇文章Jump Between Buffers in a Slick Way来论述标签栏的优势。

更简洁的标签栏设计

sort-tab

今天花了几个小时写了一个新的标签栏插件Sort-Tab, 着重解决两个体验问题:

  1. 之前的Awesome-Tab虽然默认支持Project分组和自定义规则分组,但是这几年我使用的体验看,不管怎么分组都很麻烦,因为分组容易把两个经常编辑的文件分到两个不同的组(比如不如不同项目间借鉴代码、Web项目中不同编程语言的文件并列编辑等),导致我经常需要切换标签分组才能找到标签,很是麻烦;
  2. Emacser不喜欢标签栏的另外一个理由是分屏后标签栏占用太多的纵向空间,两个窗口之间有一条比较宽的分割线,看着不爽。

Sort-Tab相对于Awesome-Tab的优势主要有两个:标签分组策略和屏幕空间设计。

  1. 根据文件的使用频率来排序,这样使用的时间越长,相关的文件标签挨的越紧,基本上可以做到下意识的左右切换(借鉴了kinono的想法,很赞);
  2. 顶栏设计,抛弃了header-line和tab-line的设计, 所有窗口都共享一个标签栏,最大程度减少纵向空间的浪费,再配合Awesome-Tray,整体上可以实现非常简洁的视觉感官。

插件今天才写完,估计还有一些小问题,欢迎各位朋友试用反馈建议。;)