eugenioenko/ttt
开发工具给想留在终端里、又要 GUI 级编辑体验(LSP、多光标、Git)的开发者用的 TUI 编辑器。
解决什么问题
终端里写代码往往只有两条路:Vim/Neovim 需要自己搭配置和插件,或者切到 VS Code、Zed、Sublime 这类 GUI 编辑器,离开 shell 另开一个窗口。TTT 想填补中间地带:一个全屏 TUI,把人们在 GUI IDE 里习惯的编辑体验搬进终端,同时是单个 Go 二进制、开箱即用。
有什么不同
它押注的是在终端里尽可能完整地复刻 GUI 编辑器的操作:多光标配合选中下一处匹配、代码折叠、随输入实时更新的分栏/统一 Git diff、行内 git blame,以及基于 LSP 的补全、诊断、签名提示和格式化。语法高亮来自作者自己用纯 Go 重写的 TextMate 引擎,README 称覆盖 124 种语言并能正确处理跨行结构——TUI 编辑器通常走 tree-sitter 或正则语法,这里换来的是与 VS Code 语法行为的一致性,代价是放弃了那个生态。相比 Neovim,TTT 用零配置默认值换掉了可组合性和成熟的插件文化;相比 VS Code,它用终端原生换掉了扩展、调试器和庞大的贡献者群体。多根工作区、直接打开 PR 链接、把 git diff 管道进来,都是小而实用的细节。
适合谁
适合本来就习惯终端的开发者:想要 LSP 补全、文件树和 Git 暂存流程,又不想维护编辑器配置;在 Linux/FreeBSD/Termux 上,或者通过 SSH 远程工作、GUI 编辑器不顺手时尤其合适。如果你依赖深度插件生态、调试器集成、notebook 式工作流,或者团队统一使用 VS Code 扩展,就别考虑了。已经调好 Neovim 配置的人也很难找到切换理由。
上手成本
需要 Git,搜索依赖 ripgrep;安装就是一个二进制(Homebrew tap、AUR、scoop、Nix flake 或安装脚本),不过 Nix flake 目前仍跟踪 main,对 Nix 用户是个警示。MIT 协议,没有授权限制。README 功能写得很长,但对稳定性承诺、发布历史和性能数据着墨很少;Nerd Font 图标默认关闭,不会强迫你换字体。主要风险是成熟度:信号里看不到任何基准测试,也没有 Hacker News 讨论,大仓库下的实际表现无从验证。
点评
项目约 9 个月,一周涨了 211 star,在 Go 周榜排到第 15,却从未上过日榜。这种集中爆发、缺乏持续日度热度的形态,更像一次发布期的脉冲,而不是已经站稳的工具。对这样的年龄来说功能完成度相当高,单二进制零配置对终端用户也是实打实的差异点。但编辑器是天天要用的决定:建议先在自己的真实仓库里并行试用一个月,再谈替换。
本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。