2011 年 11 月 2 日是 Vim 编辑器的 20 岁生日。
.
Vim 的昨天与今天
.
说到 Vim,不能不说的是 Vi 编辑器。Vi 是由 UNIX 的设计者之一 Bill Joy 在 1976 年编写的,当初它的名字叫做 ex,而 Vi 只是 ex 的可视化模式 (VIsual mode)。在 2BSD 中,Vi 命令可以直接打开 ex 的可视模式。
.
Vi 拥有两种模式——插入模式以及命令模式,因此有非常强大的编辑功能。且因为当时的 UNIX 系统都带有 Vi 编辑器,几乎所有的 UNIX 用户都使用此编辑器,因此在 UNIX 世界中, Vi 编辑器的影响十分深远。Vi 不是自由软件 —— 由于 ed 部分版权的所有者是 AT&T,因此基于 ed 的原始版本 Vi 不能自由的分发。
.
“很长时间以来我都在使用 Amiga 计算机。我很习惯使用 Vi 编辑器,因此我也想在 Amiga 上使用它。我找到了一些 Vi 的复制品,但是他们都比较糟糕,因此我萌发了自己写一个的念头。我的最初目标是完成所有 Vi 可以做到的事情,逐渐的,我在 Vim 里加入了一些增强功能。我最初写的 Vim 只是为了自己方便而已。但后来我意识到很多人也有一样的需求,因此我将其开源。我渐渐的在 Vim 上投入了很多精力使之工作在不同的环境中,也从中尽享乐趣。” 2001 年 Vim 的最初作者 Bram Moolenaar 在第一期自由软件杂志上如是写道。
.
Vim 起初名为 Vi IMitation。版本 1.14 是 Vim 的第一个公开发布版本,在 1991 年 11 月 2 日发布于 Fred Fish 的 Amiga 自由软件集 —— Fish Disk #591 中。Vim 1.22 移植到了 UNIX 以及 MS-DOS 系统。Vim 2.0 时,其改名为 Vi IMproved。在这之后,Vim 加入了很多新功能。Vim 3.0 加入了多窗口支持,Vim 4.0 支持了图形界面,Vim 5.0 加入了语法高亮以及脚本支持。Vim 6.0 将其在一个与 GPL 兼容的协议下发布。目前 Vim 最新的版本是 7.3。本文题图是在 Mac OS X 中运行的 Vim 7.3。如今, Single UNIX Specification 已经将 Vi 收录为其中的一部分。
.
Vim 是一个慈善软件。Moolenaar 在荷兰创建了帮助乌干达儿童的 ICCF 基金会,此基金会直接对一个儿童中心捐款。他建议大家给那里的可怜儿童捐款。他目前是基金会的管理者,几乎每年都去乌干达检查 ICCF 捐助的儿童中心的进展。
.
如今,Vim 已经成为了无数人的首选编辑器。从计算机程序员到科学家乃至追求编辑效率的普通人,Vim 已经不再是一种编辑器,更多的这是一种习惯。从各种计算机程序的快捷键中,我们都可以看得到 Vi/Vim 的影子——按 q 退出, j, k 进行上下移动,按 / 进行查找……
.
即使图形非常方便的今天,即使乍看起来命令行编辑器非常难以驾驭,其仍有不可比拟的优势。Vim 的学习曲线开始时相当陡峭,但是只要入门,编辑效率将会大大提高。在 Vim 里,用户可以将窗口进行任意分割、随意安排,甚至它支持多标签编辑。
Vim 有非常灵活的快捷键绑定。在命令模式中几乎所有的按键都可以绑定到某个特定动作上,因此有非常好的定制性以及扩展性。通过组合命令,几乎可以通过几个按键进行大段文本的重新安排、组合、格式化。Vim 还支持正则表达式,以及基于正则表达式的替换,并有强大的扩展能力。这使得 Vim 作为一个单纯的编辑器,拥有几乎一切可以想象的功能。此处,无意点燃编辑器战争——毕竟 Emacs 操作系统没有一个很好的编辑器。
.
Vim 可以工作在几乎任何设备上,从 MS-DOS 到 Linux, Mac OS X, Windows, 甚至是 Android 手机上都可以看到 Vim 编辑器的踪迹。
.
大家的 Vim
我是 2000 年左右开始使用 Vim 编辑器的。如今,我已经离不开 Vim 了。从平时的开发、调试到科技写作,甚至是写日记,无不可以使用 Vim 进行高效处理。
.
Vim 的 20 年见证着计算机发展的 20 年 —— 从命令行时代到现在的计算机高度图形化、友好化的时代, Vim 作为一个传统又现代的编辑器,虽然有着陡峭的学习曲线,但是努力的回报——大幅度的生产力提升是值得的。
.
你有什么和 Vi 的特殊故事么?欢迎在下面进行评论与大家进行讨论。