win-termux:Windows 终端复用器(Terminal Multiplexer)
背景
你是否遇到过需要同时执行两个终端任务:
- 用 vim 之类的写代码,同时需要编译、运行。
- 跑一个需要持久化的程序(暴力、服务器),又需要做别的工作。
- 不同目录的两个程序运行,来回切换目录。
通常情况下,这比较简单,只需开两个终端即可。
但是,如果是特殊环境(ssh 或不便来回切换),且是 Windows 没有后台运行工具(比如 linux 的 screen、tmux)的情况下,这十分棘手。
这时就可以使用这个项目,Link。
这是什么
这是一个 Windows 终端复用器(Terminal Multiplexer),他可以帮你在一个终端中,能够打开多个终端:
优点:
- 支持鼠标驱动,不需要记快捷键。
- 历史记录保留。
- 极其轻量,TUI 界面,体积小巧,占用内存小,启动速度快。
- 单 cpp 文件,编译、修改简单。
- 拥有类似 Windows Terminal 的界面,新手上手快。
- 支持向子终端传递鼠标事件,
你可以尝试进行套娃。 - 支持 VT 序列,可以显示 24 位真彩色。
原理:
使用 Windows ConPTY 作为后端,使用状态机解析器进行数据流解析。
使用
需要保证 Windows 版本为 Win10 1809+。
可执行文件运行
可以从 Github Release 上下载。
手动编译
参考仓库中的 README.md。
编译完后直接运行即可。
功能
可能会随着功能增多,导致没有同步,推荐优先前往 github 看。
鼠标操作
| 操作 | 功能 |
|---|---|
| 左键点击标签 | 切换标签页 |
左键点击 × |
关闭该标签页 |
| 右键点击标签 | 改颜色 / 改标题 |
| 中键点击标签 | 关闭该标签页 |
点击 [+] |
新建标签页(选 cmd / PowerShell / 自定义) |
点击 termux |
打开 / 关闭帮助 |
| 滚轮 | 滚动历史 |
快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+B c |
新建 cmd 标签页 |
Ctrl+B n / p |
下一个 / 上一个 标签页 |
Ctrl+B x |
关闭当前 标签页 |
Ctrl+B d |
退出 termux |
Ctrl+B t / Shift+t |
轮换标签颜色 |
Ctrl+B 0-9 |
跳转到某一个标签页 |
常见问题
Q:我的为什么渲染出现故障或按钮点击错位?
A: 你的终端需要使用等宽字体(如 Consolas、Fira Code)。
Q:为什么运行提示 Failed! Need Win10 1809+ and enough memory?
A:你的 Windows 可能版本过低,或者内存不够导致无法加载。
开源协议
本项目基于 MIT 许可证开源。
结语
如果你发现了代码中的 bug,可以提交 issues。
如果你认为我的这个项目不错,请给我点一个 star,谢谢。