最近自己需要经常在Emacs打开很多的终端,具体来说就是vterm,同时进行很多个任务。还有打开的终端时间长了就忘记了。不知道大家有没有比较好的办法来查找已经打开的终端?最好能根据打开终端的目录,以及正在执行的命令,或者最近的一个命令来查找想要查找的终端。大家有没有什么比较好的办法。
自动根据正在执行的命令来命名不靠谱。我是手动给 vterm 的 buffer 命名,然后按 buffer 名切换。
如果是独立终端的话可以试下平铺窗口管理器适不适合你胃口,通过 workspace/group 对窗口作了一层归类,每个工作组的目的比较明确,就比较好找。
当然 vterm 也可以每个会话用一个 frame 结合平铺窗口管理器来使用。
可以结合rg和终端内容过滤来做
通过搜索终端内容,来找终端最靠谱
这个我大概看了下,对于buffer的分类是不错。我感觉ibuffer用着也可以。现在一个问题,这个软件貌似对vterm也没有特殊标记显示,都是显示vterm vterm(1) vterm(2)等,这样还是不方便后期搜素。你比如你打开了十个或者而是个终端,这样就不好查找了。
1 个赞
使用 centaur-tabs 或awesome-tab 把vterm分到一个组, 这样所有的vterm buffer 就是iTerm终端一样有了tab页的功能。
然后配合 vterm-toggle 使用。
我没有用过 vterm
但是我在 eshell
的实用中,感觉我偷来的这个代码片段,
和楼主描述的需求很类似。
- 打开
eshell
后,跟目录是当前buffer
文件的父文件夹 - 输入
eshell
的名字, 通常我是按照“想执行什么操作”来命名
之后就会切换到别的 buffer
很长一段时间。
找回的时候,使用的相同命令,eshell
的名字会自动提示,基本可以准确跳到
那个 eshell
中。
感谢,对我还是很有启发的。我感觉当终端打开的非常多的时候,还是buffer重命名,在加上当前终端执行命令,还有当前终端显示所在的目录这些信息,进行搜索比较合理。