有没有办法在 emacs 实现 vscode 那样的 tab 分组方式?

嗯,当年最早的tabbar-mode占用内存巨大。后面使用headerline的会好不少,但依然会消耗不少资源。

所以,懒猫并没有真正尝试过 persp+ivy+smex/perscient,对吧?我还是坚持认为Emacs中用buffer切换是最方便高效的。如果是常用的文件,我宁愿 split-window + zoom-window 来实现,更加方便。当然每个人有自己的习惯不必强迫。这也是Emacs的精髓。

即使不用tab,也能绑定C-h 和 C-l 切换前一个或者后一个buffer,不是也很方便吗?

persp我一直没玩懂,ivy我用过啊,我一直觉得看到就按一下左右标签切换最符合直觉,切一下搜索都不符合直觉。

我主要分享我平常怎么用的哈,emacs最好的方式就是大家自己用自己舒服的方式,包容万象

正解,应该能满足

资源真不是问题,还是不习惯。

tab资源再大又lsp-mode大?但是喜欢lsp-mode不嫌弃它大 :joy:

我刚接触Emacs也是用tab的,因为其它编辑默认就有Tab,但是用着用着Emacs就有个习惯,就是不会刻意去关闭没用的Buffer,特别是dired。太多buffer下,然后就慢慢改成用buffer切换了。evil下,直接设一个回车键切换buffer,其实蛮方便的。 ivy,helm都会把常用的buffer放在前面,带模糊搜索。这样,自己就算不看 buffer列表,直接输入buffer的前两个字母就回车就可以跳到buffer,有点盲打不看屏幕切换buffer的感觉。

2 个赞

是的,我也想过,但是需要记住左右2-3 个 tab 是什么才能这么切。有 tab bar 一直显示的时候就没这个问题了。

是呢,感觉舒服的方式有可能并不是高效的方式。

有可能是符合预期,符合本人直觉的操作。

个人感受用tab比较省脑子,经过个性化设置后,不论是项目或是跳跃比较大的(比如在不同的路径下)的buffer,需要的始终在眼前,不需要的就不要显示出来。一般一段时间内只需要四个以下的tab出现在眼前。

我很好奇你说的这个「常用的 buffer 会放前面」。perspective 会统计使用 buffer 的频率吗?大概是个什么思路?大概看了下 readme 和代码似乎没发现相关的东西。

直接切换buffer M-x persp-switch-to-buffer,不就相当于在当前 workspace下列一个根据时间时间排序的 竖排的tabs吗? 横排的能列下的文件数太有限了,得横向scroll,很麻烦

使用频率这个是completion做的吧,ivy 用的是这个https://github.com/raxod502/prescient.el, 看里面frequency那块 所以我一般persp-switch-to-buffer后就C-n/p上下找一下

我了解 prescient,这么排的结果是你选择一个 buffer 的次数越多,它就越在前面。我觉得和「我在某个 buffer 里干的活更多」还是有点区别的。包括你前面说的「按时间排序」,也和人心中「频繁使用的 buffer」不太一样。

我目前用 tabs 就是会手动把常用的 buffer 扔到最前面(我给 awesome-tab 专门写了个命令做这个事),然后一般只在眼睛能看到的 buffer 间切换。如果能确实解决「统计常用 buffer」的问题,那就可以更省脑子了。

1 个赞

确实好像没有置顶某些candidates的功能,这个可以添加一个local var,然后置顶存在这个var里面的所有buffer。但我感觉这样的话需要多按几次C-n才能移到recent files。这个又与recent files的功能相背。

主要我每次打开的文件太多了,横向的tabs找的灰常蛋疼,以前文件一多,经常点来点去,也没有preview tabs的功能,找个文件找半天。脑子也不会偏向于去记忆文件名中的关键词,以便于以后搜索。这方面用recent files还是锻炼了这方面的记忆的。

理论上,你可以在persient中做类似的事情,控制下 prescient--history 或者 ivy-sort-functions-alist (如果用ivy的话)?

1 个赞

这样也挺直观的

你们都需要切一下或弹一下,晃眼睛,tab就是直觉的切一下标签。

  1. 用tab的人都喜欢只打开当前用的文件
  2. 搜索的人喜欢打开一堆文件,然后关键字找

我觉得这就是两种不同的用法和习惯,到目前为止已经论清楚了,萝卜白菜各有所爱,习惯面前就没有那个更好了。

2 个赞

我再分享下个人使用两种方式切换buffer的感受。

  1. 使用tab 快速切换,不改变窗口大小,切错了继续往下找,看buffer 名称很重要‼️。
    心里感受是,界面干净,但感觉少点什么,不踏实。
  2. 使用补全框架(ivy,vertico等)进行搜索buffer,需要记得关键字。
    心里感受是,靠谱,一切尽在掌控。

另外,consult-buffer 有预览功能,在输入关键字的时候,直接预览目标buffer,感觉更踏实了. :smile:

我现在也是这样啊,awesome-tab配合snails,很爽