返回
programming2026年6月23日1 分钟

传统Vi编辑器:现代Unix系统的经典源码移植

#vi编辑器#Unix#开源#源码移植#文本编辑

1. 概述

传统Vi编辑器源码在现代Unix系统上的移植。vi编辑器是Unix上最常用的文本编辑器之一,由加州大学伯克利分校(UCB)的Bill Joy于1976年左右开始开发,当时他对ed编辑器感到厌倦。但由于他使用ed作为代码基础,二十多年来访问原始源码需要商业Unix源码许可证。2002年1月,Caldera公司非常友好地通过BSD风格许可证(参见Slashdot上的公告)移除了对古代Unix代码的使用限制,因此vi现在终于自由了。

2. 特点与局限

与大多数克隆版本相比,传统vi是一个相当小的程序(在i386架构上二进制大小约为160 KB),仅拥有极其强大的编辑界面,但缺乏多级撤销、多屏幕或语法高亮等花哨功能。此移植版本总体上保留了原始风格、终端控制和功能集。它增加了对国际字符集的支持,包括UTF-8等多字节编码,以及一些BSD vi 3.7中未包含但在后续System V或POSIX.2的vi版本中引入的次要增强功能。

3. 下载源码

下载源码:版本050325(当前版本)。此项目的新版本在freshmeat.net上发布。您可以使用他们的订阅服务,在新版本可用时通过电子邮件接收通知。所有版本均可浏览。

4. CVS仓库访问

浏览CVS仓库:最新的开发成果有时会在公共CVS仓库中提供。使用以下命令获取副本:$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi login(CVS密码:直接按回车键),然后$ cvs -d:pserver:anonymous@ex-vi.cvs.sourceforge.net:/cvsroot/ex-vi co ex-vi。按照这些说明获取更多信息。如果您想报告问题,请查看CVS中的Changes文件,看问题是否已解决;如果是,请尝试修复方案是否适用于您。除非有特殊原因,否则不要使用CVS中的代码。它可能不正确、未经充分测试,甚至可能无法编译。另请注意,libuxre子目录和regexp.h包含文件无法从CVS获取,因为它们的内容作为Heirloom Toolchest的一部分维护。因此,要从CVS源码构建,请从早期版本存档中复制这些项目。

5. 文档

文档:安装说明和支持的系统列表,请参见README。ex和vi中的更改是移植中所有修改的详细列表。显示编辑与Vi简介既是教程,也是高级用户的知识来源。此版本包含移植更改的一些注释。它也可作为完整存档用于离线阅读。手册页ex(1)提供了编辑器基本概念、地址行、ex命令(在可视模式下以':'为前缀)、正则表达式和替换以及配置选项的参考文档。手册页vi(1)描述了可视模式下的命令字符。

6. 联系信息

Gunnar Ritter gunnarr@acm.org 2007-11-29


🔗 原文链接:https://ex-vi.sourceforge.net/