GitHub上有个趋势挺有意思:过去18个月,带"tui"标签的项目Star数涨了340%。不是GUI(图形界面)死了,是一群人发现——原来终端里也能长出好看的东西。
这事得从TUI(文本用户界面)说起。它卡在命令行和图形应用中间,用字符画界面、支持鼠标、能跑256色甚至真彩色。作者Code & Craft说他删了23个桌面应用,全换成TUI工具。我一开始不信,直到看完他列的8个。
1. Lazygit:Git的"自动驾驶模式"
Git的命令行有多反人类,每个程序员都懂。add、commit、push、rebase、cherry-pick——记命令还好,可视化分支历史才是噩梦。
Lazygit把仓库变成可交互的仪表盘。左侧文件树,中间diff预览,底部命令日志。按几下方向键就能完成复杂操作,比如把三次commit squash成一个,或者解决merge冲突。
作者的原话是:「我用Lazygit之后,SourceTree和GitKraken再也没打开过。」鼠标?偶尔用,但90%的操作键盘搞定。
2. Ranger:文件管理器的" vim 时刻"
Finder和Explorer的问题是太慢。点开文件夹、等预览加载、右键菜单找压缩——这些操作在Ranger里全是快捷键。
它用vi的键位逻辑:j/k上下移动,h/l进出目录,空格选中,yy复制,dd剪切。预览面板直接显示图片缩略图、PDF内容、代码高亮,甚至视频帧。
有个细节很毒:Ranger用w3m在终端里显示图片,不需要任何图形依赖。这意味着SSH到服务器上,你依然能"看见"文件。
3. Bpytop/Htop:系统监控的"信息密度竞赛"
macOS的活动监视器像医院的心电图——好看但信息稀疏。Bpytop把CPU、内存、磁盘、网络全塞进一屏,用色块和迷你图实时刷新。
它的交互设计很产品经理思维:按1-4切换标签,f过滤进程,k直接kill,e看环境变量。所有操作不用记命令,看屏幕底部的快捷键提示就行。
作者对比过:Activity Monitor默认窗口占屏幕30%,信息密度不到Bpytop的1/5。剩下的空间?写代码。
4. LazyDocker:容器管理的"一键体检"
Docker Desktop的槽点是又重又慢。LazyDocker把镜像、容器、网络、卷全列成表格,红色标异常,绿色标健康。
最实用的是日志流:选中容器按l,实时tail -f,再按/搜索关键词。排查故障时,这比打开浏览器进Portainer快10倍。
作者提到一个场景:生产环境出问题时,SSH进去开LazyDocker,两分钟定位到内存泄漏的容器。Docker Desktop?服务器上根本跑不了。
5. K9s:Kubernetes的"战场指挥台"
K8s的yaml地狱没人喜欢。K9s把集群资源变成可导航的树:命名空间→工作负载→Pod→容器,每层都有上下文操作。
按s进shell,按l看日志,按d描述资源,按e直接编辑yaml。所有操作带自动补全和验证,改完自动apply。
有个设计很细:K9s支持自定义快捷键和插件,能把常用诊断脚本绑到单个按键。作者团队把"重启服务+清缓存"做成一键操作,值班工程师的噩梦少了一半。
6. Bat/Exa:ls和cat的"整容手术"
这两个是TUI里的"微整形"——单独看改动不大,但每天省下的认知负荷很可观。
Bat是cat的替代品,自动语法高亮、显示行号、集成git diff(修改过的行标黄)。Exa是ls的替代品,用颜色区分文件类型,树形展示目录,还能显示文件大小和修改时间的human-readable格式。
作者的习惯是:alias ls='exa -la --git',alias cat='bat'。新环境配置完这两行,终端立刻从DOS时代穿越到2026。
7. HTTPie/HTTP Prompt:API测试的"对话式体验"
Postman的痛点是太重。打开要等3秒,建个请求要填10个字段,历史记录藏在三级菜单里。
HTTP Prompt把API调用变成交互式会话。输入base URL之后,后续命令自动补全路径、参数、header。按↑回溯历史,按Tab补全JSON字段,错误响应直接高亮语法错误。
作者的原话:「调试REST API时,我的手指没离开过键盘。Postman?现在只用来导出curl给非技术同事。」
8. Newsboat/RSS2Email:信息输入的"降噪耳机"
最后一个有点意外:RSS阅读器。Newsboat把订阅源变成可搜索的数据库,支持过滤规则、标签系统、甚至宏脚本。
作者的用法很极端:把所有技术博客、GitHub Release、CI通知全丢进去,每天早上15分钟批量处理。未读数归零就关终端,不会被浏览器里的推荐算法拐走。
他算过账:用Feedly时平均每天"误触"阅读47分钟无关内容。Newsboat的纯文本界面没有缩略图诱惑,信息摄入效率反而更高。
终端文艺复兴的底层逻辑
这8个工具的共性是什么?作者总结了三条:
第一,键盘优先的设计语言。GUI为了兼容鼠标,菜单层级越来越深。TUI假设用户愿意学20个快捷键,换取消耗在点击和等待上的时间。
第二,信息密度的极端优化。同样15寸屏幕,TUI能同时展示代码、日志、系统状态、文件树。GUI的留白和动画在这里是犯罪。
第三,远程环境的原生支持。SSH、容器、服务器——这些程序员每天打交道的环境,TUI开箱即用,GUI要么跑不了,要么卡成PPT。
但作者也留了话:「我不是反GUI原教旨主义者。设计稿评审、视频会议、浏览器调试——这些场景图形界面依然不可替代。」
他的判断是:TUI和GUI的边界正在模糊。像Warp、Fig这样的现代终端,已经在尝试融合两者的优势。而Lazygit、K9s这类工具证明了一件事——终端的美,不在于复古,而在于对特定场景的极致优化。
所以问题来了:你现在的工具链里,有多少是为了"好看"而牺牲效率的?如果删掉所有鼠标必需的应用,你的工作流还能跑起来吗?
热门跟贴