《vim从入门到放弃》002

#当年vim的环境已经不存在了

在twitter网站上,Go语言的作者之一,传闻现在在Google享有单字母邮箱的待遇([email protected])的大牛Rob Pike,他的twitter上的签名是: Ed is the standard text editor. 我先问个问题吧,Ed是什么?你在想什么?不是勃起性功能障碍,是一个文本编辑器。

vim0201

ed, shell和assembler是1969年Ken Thompson开发的Unix上最初的3个应用软件,从某种意义上来说,ed是编辑器的祖宗呢。然后,Ken Thompson的好朋友Dennis Ritchie在ed的基础上,将ed编辑器进行了改进,名为ex,这两个编辑器一次只能编程一行,因此称为行编辑器。后来,在这个ex的影响下,Sun公司的创始人,Java语言的重要贡献者,在1976年开发了vi,虽然现在爬坡来,vi不好用,但是,在当时,这是一个了不起的进步,因为,vi可以每次编辑超过一行了。至于为什么不能用鼠标,因为当时鼠标还没有发明出来。当时,再基于vi代码的改进,产生了许多不同的编辑器,其中比较出名的有一个叫Stevie的,也是开源的。vim是基于Stevie进行的改进,最初是为了能让Stevie运行在Amiga机器上。当然,vim出色的完成了运行在Amiga机器上的任务,实际上,它完成的更多,它能运行在任何机器上,包括iOS,Android,还有更冷门的Nintendo的游戏机上,Amazon的kindle上。

对了,好像我没有说过,vim的作者叫Bram Moolenaar,现在也在Google工作,YouTube上经常会发一些他做的各种演讲,有的是讲vim的,有的不是,我觉得值得一看。

# 为什么vim的键位这么诡异

其实当时并不诡异,就像我们在看下面这张100年前的衣服,我们无法知道,这是当年最“勇敢”的泳装。甚至比现在最正常的衣服还要正常!

vim0202

那么,为什么vim会使用esc这个键呢?这么老远!为什么vim会使用hjkl这四个键来控制方向呢?我看过各种各样的解释,我最认同的是下面这张图。

lsi-adm3a-full-keyboard

如果看不清楚,近了再看看。

adm-3a-hjkl-keyboard

时过境迁了,泳装已经不是当年的泳装,键盘也不是当年的键盘了。

刘延栋 wechat
欢迎扫一下关注我的公众号:软件那些事儿
欢迎收听我的电台,你的支持将鼓励我继续前进