Vim为什么老编辑器Vim这么难用,却很受欢迎?


白交 发自 凹非寺
量子位 报道 | 公众号 QbitAI
一个1991年正式发布 , 如今已经快30岁的「高龄」的代码编辑器Vim , 为何如此受欢迎?
在2019年「StackOverflow」关于最流行的开发环境的调查 , Vim仍然排在并列第四位 , 大约有25%的Web开发人员正在使用它 。
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
而在它之前的 , 全是2000年以后才出现的代码编辑器 。
Vim除了「高龄」以外 , 还有一个点也困扰着大家 , 那就是「难用」 。 如果你没用过 , 你连怎么退出都不会!
而且这个难用的梗经久不衰 。
比如「StackOverflow」有一个近八年之久的问题 , 活跃度仅在2天前 , 浏览量累计达210万次 。
「如何退出Vim编辑器?」
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
这个看上去似乎是再简单不过的问题了 , 却依然经久不衰 , 引发网友热切讨论 。
这时候 , 可能就想问 , 为何这个Vim这么难用 , 还这么受欢迎?
了解一下它的历史由来 , 也许就可以窥见一些原因 。
半世纪的积累
最近有一位博主Nikola ?uza , 就介绍了Vim是如何开始的——「How Did Vim Become So Popular」 。
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
还记得以前「打孔卡」的时代吗?将「打孔卡」放入计算机内部从而实现编程 。 对于这一方式来说 , 放置他们的顺序很重要 。
想象一下 , 这是一张4.5mb数据的照片 , 堆叠在62500个打孔卡中 , 然后删除它 , 再次对它排序 。
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
但是随着计算机功能和存储增长 , 打孔卡渐渐不能满足程序员的需求 , 这时候出现了QED编辑器(ed的前身) , 由此便进入到了「行编辑」时代 。
ed编辑器
ed编辑器是一款经典的行编辑器 , 由贝尔实验室开发 , 1973年正式发布 , 已经有47年之久 , 但至今仍然可以使用 。
如果你使用的是Linux或Mac OS , 打开终端 , 输入ed , 便可以得到一个简单的行编辑器 。
而如果你要写入文件 , 输入 a并按Enter键 , 就可以开始编写文本 , 输入.退出附件模式 。 然后写入文件 , 可以输入「w myfile.txt」并按Enter键 , 最后输入q退出 。
而使用Vim的网友 , 可能就会觉得很熟悉 。 Vim和ed有很多相似的地方 。 这篇博主就提到说 , 如果你会使用Vim , 那么ed就会很快上手 。
比如 , :q
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
而在ed之后 , 便是em 。 它有「the editor for mortals」(凡人的编辑器)的称号 。
也就是说 , em可以跟ed做一样的事情 , 但是没有ed那般神秘 , 更适合大多数人使用 。
Vim的前身——Vi
而随后基于em代码 , Sun联合创始人 , 兼首席科学家Bill Joy开发了ex , 算得上是扩展版 。 它在以往的模式上增加了visual模式 , 它可以在屏幕上打开文件 。
三年之后 , 操作系统中引入了可执行文件Vi , 但仍然可以通过在Vi/Vim访问ex命令 。
Vim为什么老编辑器Vim这么难用,却很受欢迎?
本文插图
是他奠定了今天Vim编辑器的键位设计 , 如果觉得快捷键难记 , 就怪他吧 。
当时Bill Joy使用的是下面的键盘:esc键在现在的tab位置 , 方向键和字母键混用 , 这也就注定了之后Vim怪异的键位设计 。