Vim:祝你 20 岁生日快乐
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 的特殊故事么?欢迎在下面进行评论与大家进行讨论。