Traditional Vi 项目页面显示,这一项目提供原始 vi 编辑器面向现代 Unix 系统的移植版源码,并给出发布包、CVS 仓库和文档入口。它真正重要的地方,不是多了一个能写代码的编辑器,而是把一段长期受源码授权限制的 Unix 基础工具,放回到可研究、可移植、可验证的位置上。

vi 约在 1976 年由 Bill Joy 在加州大学伯克利分校开发,基于 ed 代码演进而来。2002 年,Caldera 以 BSD 风格许可解除 Ancient Unix Code 的使用限制后,原始 vi 源码才具备了自由发布的许可条件。这里要分清一件事:2002 年前用户并非不能用 vi 或其克隆版,受限的是原始源码的再发布与使用许可。

Traditional Vi 保留的是传统行为,不是现代编辑器野心

Traditional Vi 的定位很窄,也正因如此才有价值。项目说明称,该移植版大体保留原始 vi 的风格、终端控制方式和功能集;在 i386 平台上,二进制体积约 160KB。这个数字不能外推到所有平台,但足以说明它与现代增强型编辑器不是同一类产品。

项目Traditional ViVim / Neovim
核心目标保留传统 vi 行为与源码可移植性扩展编辑器能力与插件生态
功能边界无多级撤销、多屏、语法高亮支持脚本、插件、LSP、复杂界面
新增能力加入 UTF-8 等国际字符集支持面向现代开发工作流持续扩展
适合人群Unix 历史研究者、可移植系统开发者日常编程用户、团队开发环境

这也是评价它时最容易走偏的地方。拿 Traditional Vi 去和 Neovim 比插件、补全和界面,是错置标尺。它更像一件维护良好的工具标本:能用,但重点在于让后来者看见早期 Unix 编辑器如何工作。

许可变化让“原件”进入公共工具链视野

vi 的历史特殊性在于,它既是 Unix 用户几乎绕不开的基本工具,又曾与商业 Unix 源码许可绑在一起。开源世界长期使用的是各种克隆版,例如 Vim 从 vi 兼容起步,后来发展出脚本、语法高亮、多级撤销和跨平台界面;Neovim 则进一步把异步插件、嵌入式使用和现代开发体验推到前台。

Traditional Vi 的出现补上的是另一块空白:不是替代克隆版,而是让“传统 vi 本身”在现代 Unix 上更容易构建和阅读。对普通 Linux 用户来说,这不会改变日常编辑器选择;对维护小型系统、做 POSIX 兼容测试、研究 BSD/System V 工具差异的人,它能减少从历史材料到可运行代码之间的摩擦。

发布包更适合普通用户,CVS 代码不能当稳定版

项目当前列出的发布包为 Release 050325,并提供 README、Changes、ex(1)、vi(1) 手册,以及《An Introduction to Display Editing with Vi》教程。想尝试的人,应优先下载发布包,而不是直接拉 CVS。

项目方对 CVS 的说法很直白:其中代码可能不正确、未经充分测试,甚至可能无法编译。CVS 中还缺少 libuxre 子目录和 regexp.h,构建时需从早期发布归档中复制。这一限制说明,Traditional Vi 更适合有明确目的的开发者和爱好者,不适合作为普通用户临时换用的“更轻编辑器”。

接下来最该观察的不是它会不会追上现代编辑器,而是它能否继续维持可编译、可审计、文档清楚的状态。对这样的项目来说,少加功能有时比多加功能更难,也更重要。