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

栏目: IT技术 · 发布时间: 6年前

内容简介:如果你没用过,你连怎么退出都不会白交 发自 凹非寺量子位 报道 | 公众号 QbitAI

如果你没用过,你连怎么退出都不会

白交 发自 凹非寺

量子位 报道 | 公众号 QbitAI

一个 1991年 正式发布,如今已经快30岁的「高龄」的代码编辑器Vim,为何如此受欢迎?

在2019年「StackOverflow」关于最流行的开发环境的调查,Vim仍然排在 并列第四位 ,大约有25%的Web开发人员正在使用它。

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

而在它之前的,全是 2000年 以后才出现的代码编辑器。

Vim除了「高龄」以外,还有一个点也困扰着大家,那就是「难用」。如果你没用过,你连怎么退出都不会!

而且这个难用的梗经久不衰。

比如「StackOverflow」有一个近 八年 之久的问题,活跃度仅在 2天 前,浏览量累计达 210万次 。

「如何退出Vim编辑器?」

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

这个看上去似乎是再简单不过的问题了,却依然经久不衰,引发网友热切讨论。

这时候,可能就想问,为何这个Vim这么难用,还这么受欢迎?

了解一下它的历史由来,也许就可以窥见一些原因。

半世纪的积累

最近有一位博主Nikola Đuza,就介绍了Vim是如何开始的——「How Did Vim Become So Popular」。

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

还记得以前「打孔卡」的时代吗?将「打孔卡」放入计算机内部从而实现编程。对于这一方式来说,放置他们的顺序很重要。

想象一下,这是一张4.5mb数据的照片,堆叠在62500个打孔卡中,然后删除它,再次对它排序。

为什么老编辑器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这么难用,却很受欢迎?

而在ed之后,便是em。它有「the editor for mortals」(凡人的编辑器)的称号。

也就是说,em可以跟ed做一样的事情,但是没有ed那般神秘,更适合大多数人使用。

Vim的前身——Vi

而随后基于em代码,Sun联合创始人,兼首席科学家Bill Joy开发了ex,算得上是扩展版。它在以往的模式上增加了 visual 模式,它可以在屏幕上打开文件。

三年之后,操作系统中引入了可执行文件Vi,但仍然可以通过在Vi/Vim访问ex命令。

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

是他奠定了今天Vim编辑器的键位设计,如果觉得快捷键难记,就怪他吧。

当时Bill Joy使用的是下面的键盘:esc键在现在的tab位置,方向键和字母键混用,这也就注定了之后Vim怪异的键位设计。

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

vi发布是在1979年,那么Vim是如何诞生的呢?

Vim的诞生

这还得从Vi发布之后的「模仿」开始,很多人开始模仿、克隆vi编辑器。当时就有这么一个「Vi Improved」从中脱颖而出。

它是由「Bram Moolenaar」创建,这个人来头可不小,他还是软件开发工具A-A-P、编程语言Zimbu的开发者。在使用Vim的人,可能看到过他的名字。

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

Bram使用了一个名为STEVIE的Vi克隆版,并注意到它缺少许多vi的命令。他在此基础上增加了一些新的功能,使其 与vi兼容 ,并以 “Vi Improved “的名义发布。

1993年的2.0版本开始使用Vim名字,然后一直这样沿用至今。

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

这个几乎集成了近半世纪智慧与努力的Vim,将大量的精力都放在了兼容性上。

博主也说,也许Vim一些有用的功能让出名,但是能让Vim一直都屹立不倒的原因是,它几乎兼容了所有你能想到的东西。

这也是很多程序员的爱用Vim主要原因。而除了兼容性强的优点,强大的键位设计,自行设定快捷键等这些都让Vim成为提升工作效率的绝对利器呀!

让人又爱又恨

Vim诞生的时候,鼠标还不是电脑标配,所以Vim尽量为纯键盘操作而优化。

而后来图形化界面、鼠标的普及,让更过代码编辑器脱颖而出,配合鼠标操作学习门槛低,但效率不及Vim老手。

这也是Vim让人又爱又恨的原因吧。

谈到Vim,国内的程序员怎么看?首先是入门难度大:

用Vim写接口还行,不过还是需要学习下Vim的快捷键,不然太痛苦了。

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

但是用熟了之后,简直能把Vim用的飞起:

熟悉了之后确实操作起来很快,特别不喜欢用上下左右键。

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

还有Vim重度使用者来现身说法, 真正的Vim高手,是不需要鼠标的~

就因为喜欢上这种双手不离键盘就可以操控一切的feel ,Vim可以让我对文本的操作更加精准,高效。

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

不过,这位网友也提到,对初学者可能不是特别友好,因为Vim有一定的学习成本,只有做到非常熟练才能感受到它带来的快捷。

如何花式退出Vim?

那么回到一开始的问题,怎么退出Vim呢?

不谈正经的方法(:q!),有人曾总结了千百种花式退出方法,请看这里:

天下苦Vim久矣!硬核程序员教你如何花式退出Vim,一周收获2400星

吐槽归吐槽,你觉得Vim好用吗?你在写代码的时候又用着哪一款编辑器呢?

参考链接:

https://pragmaticpineapple.com/how-did-vim-become-so-popular/

版权所有,未经授权不得以任何形式转载及使用,违者必究。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Effective Java

Effective Java

Joshua Bloch / Addison-Wesley Professional / 2018-1-6 / USD 54.99

The Definitive Guide to Java Platform Best Practices—Updated for Java 9 Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Jav......一起来看看 《Effective Java》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换