1969年肯·汤普森仅用三周时间就在贝尔实验室开发出了UNIX系统,其中编辑器ed 仅用一周完成。
然而这款命令行编辑器设计初衷是为了适配电传打字机(teleprinter)而非显示终端。
所以呢ed不允许你在打开的缓冲区中直接修改某行文本,也无法移动光标,因为每次编辑都需要重新打印整个文件,所谓的"屏幕"只是一张不断吐出的打印纸,所有输出内容都以油墨形式永久留存。
虽然可以通过列表命令(l)查看指定行,但大多数时候你就像在黑暗中编辑文本。
这种逐行编辑的模式对电传打字机来说非常合理,但随着视频显示终端的普及,大多数用户发现使用ed令人沮丧。越来越多开发者正被这款行编辑器折磨得苦不堪言...
1973年英国第一台UNIX系统正是在玛丽女王大学安装。在1976年,时任英国女王玛丽大学讲师的乔治·考洛里斯,认为ed超级难用,于是在ed的代码上做修改,开发出了em编辑器。em编辑器的诞生犹如雪球般推动了后续vi及其众多衍生编辑器的发展。
1976年夏天,乔治·考洛里斯带着em来到加州大学伯克利分校访问,在这里,他结识了正在开发BSD系统的研究生比尔·乔伊。
基于em的源代码,乔伊开发了一款新编辑器,命名为en,不久后,又进一步“扩展”en,创造了ex。ex在保持ed兼容性的基础上新增两种模式:"开放模式"实现em的单行编辑功能,"可视化模式"则开创了全屏编辑的先河。
1979年BSD第二版发布时,一个名为vi的可执行文件横空出世——它本质上只是以可视化模式启动ex的快捷方式。
接下来就很有意思了:
比尔·乔伊当年是在一台 ADM-3A 终端上开发 vi 的。这款键盘没有方向键,h/j/k/l键上的箭头标记由此成为光标移动的标准配置;
Escape 键位于最左侧(大致相当于现代键盘 Tab 键的位置),这个物理特性直接影响了 vi 的设计。
如今 vi/vim 用户依赖 Esc 键切换模式的设计,正是源自这块 1970 年代键盘的硬件布局,这就解释了为何这个反人类设计会被赋予模式切换的重要功能。
在早期的BSD Unix系统中,vi是除ed之外唯一预装的文本编辑器。作为ed的直系后代,vi的源代码受AT&T许可证限制,任何修改都需要授权。
这一限制直接催生了多个开源克隆版本:1987年问世的STEVIE(VI爱好者专用ST编辑器)、1990年诞生的Elvis,以及1994年出现的nvi。这些克隆版本纷纷加入语法高亮、分屏窗口等创新功能,其中Elvis的诸多特性更因用户强烈要求而被Vim吸收采纳。
如今vi已经诞生50年,ADM-3A 终端早已进入博物馆。但是ADM-3A 却深刻影响了现代文本编辑器的交互方式,尤其是 vi/vim 的键盘布局。
哥早已不在江湖,江湖上却仍有哥的传说
喜欢gonewithsmoke朋友的这个帖子的话,👍 请点这里投票,"赞" 助支持!
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。
打开微信,扫一扫[Scan QR Code]
进入内容页点击屏幕右上分享按钮
楼主本月热帖推荐:
>>>查看更多帖主社区动态...