在探索GitHub时,一个名为TUIOS的终端项目引起了我的注意。尽管发布仅三个月,其Star数已快速接近两千,显示出了不错的潜力。
这是一个使用 Go 语言编写的终端窗口管理器。简而言之,它允许你在一个终端窗口内开启多个分屏,并像在图形桌面系统中拖拽窗口一样灵活地管理它们。
如果你日常重度依赖命令行工作,或者怀念Tmux的功能却因其复杂的配置而却步,那么TUIOS这种开箱即用且支持鼠标操作的理念,或许正合你意。它试图将图形界面的便捷性,带入传统的命令行环境中。
核心功能
多窗口与工作区
这是最基础也是最实用的功能。你可以通过一个命令快速新建终端窗口,并且最多支持9个独立的工作区来进行分类管理。例如,你可以将编码、查看日志、执行命令的窗口分别放置于1、2、3号工作区,通过简单的数字键即可切换,远比在一堆标签页中寻找更为直观。

类 Vim 的模态操作
TUIOS借鉴了Vim的设计哲学,采用了两套模式:默认是管理窗口的模式,按下 i 键才进入真正的终端交互模式。这种分离有效避免了快捷键冲突。特别是其复制模式,允许你使用熟悉的Vim式键位在成千上万行的历史输出中进行浏览、搜索和文本选择,对于需要频繁回溯操作结果的用户来说非常顺手。

高度可定制的键位
所有操作按键均可自定义,配置文件采用简洁的TOML格式。它甚至支持Kitty键盘协议这类更细致的设定。你可以完全按照自己的习惯重新映射快捷键,或者仿照Tmux、Screen的操作逻辑,无需强制记忆默认键位。
鼠标支持与自动平铺
除了键盘操作,TUIOS也支持使用鼠标点击选中窗口、拖动调整大小。开启自动平铺模式后,窗口会自动以网格形式排列,像瓦片一样铺满整个终端区域,省去了手动调整布局的麻烦。

SSH 与 Web 远程访问
它内置了SSH服务器,启动后即可从其他机器连接过来,直接操作这个已经管理好的“终端桌面”。更特别的是,它还提供了一个独立的 tuios-web 二进制文件,能够启动一个网页服务,让你通过浏览器即可访问终端会话,并支持WebGL渲染和多种主题。
tuios ssh # 在 localhost:2222 启动
tuios ssh --host 0.0.0.0 --port 8022 # 自定义主机/端口
ssh -p 2222 localhost # 连接
Tape 自动化脚本
这个功能颇具新意。你可以编写一种名为 .tape 的脚本,使用简单的命令描述一系列操作,例如“新建窗口”、“输入命令”、“切换工作区”。TUIOS能够自动执行这些脚本,适用于录制工作流程、制作演示或进行轻量级的自动化测试,相当灵活。
安装指南
- 使用包管理器(推荐):在macOS或Linux上,使用Homebrew可以最便捷地安装。执行
brew install tuios 即可安装主程序,Web版本则需要额外执行 brew install tuios-web。Arch用户可以直接从AUR安装 tuios-bin 和 tuios-web-bin。
- 一键脚本或手动下载:如果不希望安装包管理器,其GitHub主页提供了安装脚本,通过
curl 管道传递给 bash 即可完成安装。当然,你也可以直接前往Releases页面下载对应系统的预编译二进制文件,解压后即可使用。
- Docker 尝鲜:若只是想快速体验,使用Docker最为快捷。运行命令
docker run -it --rm ghcr.io/gaurav-gosain/tuios:latest 会拉取镜像并启动一个临时容器,用完即弃,非常适合测试。
TUIOS像是一次试图模糊终端与图形界面界限的积极探索。它将多任务、工作区、鼠标操作这些典型的GUI概念,以纯文本的方式实现了出来。对于深度终端用户而言,它可能提供了一种更紧凑、更专注的 工作流。当然,对于习惯了传统终端复用器(如Tmux)极简哲学的用户,这套略显“重量级”的“系统”是否会成为日常选择,还需亲自体验后才能定论。
项目:github.com/Gaurav-Gosain/tuios
|