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

strongerHuang 2020-07-11 00:00

关注、星标公众,不错过精彩内容

来源:量子位

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


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

      

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

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

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

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

「如何退出Vim编辑器?」

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

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

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

半世纪的积累

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

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

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

但是随着计算机功能和存储增长,打孔卡渐渐不能满足程序员的需求,这时候出现了QED编辑器(ed的前身),由此便进入到了「行编辑」时代。

ed编辑器

ed编辑器是一款经典的行编辑器,由贝尔实验室开发,1973年正式发布,已经有47年之久,但至今仍然可以使用。

如果你使用的是Linux或Mac OS,打开终端,输入ed,便可以得到一个简单的行编辑器。

而如果你要写入文件,输入 a并按Enter键,就可以开始编写文本,输入.退出附件模式。然后写入文件,可以输入「w myfile.txt」并按Enter键,最后输入q退出。


# ed
a
Hey there!
I'm qbitai.I'using ed right now.
How cool!    
.
w myfile.txt
60
q


而使用Vim的网友,可能就会觉得很熟悉。Vim和ed有很多相似的地方。这篇博主就提到说,如果你会使用Vim,那么ed就会很快上手。

比如,:q

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

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

Vim的前身——Vi

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

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

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

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

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

Vim的诞生

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

它是由「Bram Moolenaar」创建,这个人来头可不小,他还是软件开发工具A-A-P、编程语言Zimbu的开发者。在使用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高手,是不需要鼠标的~

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

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

如何花式退出Vim?

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

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

参考链接:
https://pragmaticpineapple.com/how-did-vim-become-so-popular/

免责声明:本文素材来源量子位,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

推荐阅读:
代码对齐使用Tab?还是空格?
的区别?" tab="innerlink" data-linktype="2" rel="nofollow">#include使用“”和<>的区别?
手把手教你用铁丝做Arduino UNO板

关注 微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。


长按前往图中包含的公众号关注

strongerHuang 作者黄工,高级嵌入式软件工程师,分享嵌入式软硬件、物联网、单片机、开发工具、电子等内容。
评论 (0)
  •  在很多的应用场景都有电池供电,同时也有充电器同时存在的场景,这种供电系统希望在没有充电器的时候,为了保证充电头不带电就需要防止电流倒灌的产品比如肖特基或者是理想二极管,通常在小电流情况下比如1A以及一下的场景,肖特基便宜,不在乎功耗,但是当充电电流比较大的时候,肖特基压降明显的降低了效率,产生了很大的热损耗,给工程师散热造成了很大的挑战,这时候就需要用到理想二极管。无锡明芯微提供了多种选择的理想二极管控制和模块,覆盖不同的电压需求。 当有充电器在的时候,为了不让电池供电,提高电池的使
    王萌 2024-10-12 14:34 104浏览
  • 2024年10月12日 调研机构Global Info Research出版了《全球全身超声设备行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告主要分析全球全身超声设备总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。规模分析包括收入和市场份额等。深入分析了全球范围内主要企业竞争态势,收入和市场份额等,同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据为20
    GIRtina 2024-10-12 10:29 53浏览
  • 滚柱导轨是一种重要的传动元件,它由滚柱作为滚动体。用于连接机床的运动部件和床身基座,其设计旨在提供高承载能力和高刚度,适用于重型机床和精密仪器,而滚柱导轨的适配方法对于确保机械设备的高精度运行至关重要。 滚柱导轨的适配方法主要包括安装和调试,首先,选择合适的规格和精度匹配是确保滚柱导轨正常工作的基础,规格的选择应根据具体的应用场景和需求来确定。此外,还需要进行前期的准备。 ①在安装滚柱导轨前,要对滚柱导轨及其安装面进行仔细检查,确保无毛刺、伤痕和杂物。②使用油石或适当的工具清
    高技传动 2024-10-11 17:56 88浏览
  • 随着电动自行车市场的蓬勃发展,如何提升其安全性、可靠性和智能化水平已成为行业关注的焦点。在众多关键元件中,光电耦合器(简称光耦)正以其独特的功能,成为电动自行车设计中的关键角色。下面,让我们一同探索光耦在电动自行车中的主要应用:电池管理系统(BMS)的隔离与保护电动自行车的心脏是其电池组,而BMS则扮演着保护电池、延长寿命和优化性能的重要角色。光耦在BMS中发挥了隔离高压电池电路与低压控制电路的关键作用,有效防止电气过载、短路等潜在问题,从而提升了电动自行车的安全性,确保了控制系统的稳定运行。控
    晶台光耦 2024-10-12 10:33 61浏览
  • 2024年10月12日  Global Info Research行业调研机构发布的《全球线性压电平台行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球线性压电平台总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数
    GIRtina 2024-10-12 11:31 52浏览
  • 近年来,国产光耦在技术和市场覆盖方面都取得了长足进步。随着半导体制造和隔离技术的进步,国产光耦已成为汽车电子、工业自动化、电力系统和医疗设备等行业的关键部件。这些部件因其可靠性、价格合理性和在各种应用中的增强性能而受到关注。本文深入探讨了国产光耦的实际应用和市场进展,展示了它们在推动多个行业技术创新方面的作用。国产光耦的实际应用1.工业自动化:增强控制和安全性工业自动化系统依靠高效的信号传输和隔离来确保组件之间的无缝通信。国产光耦广泛应用于可编程逻辑控制器(PLC)、电机驱动器和工厂自动化设备,
    克里雅半导体科技 2024-10-11 16:39 89浏览
  • 2024年10月12日 Global Info Research调研机构发布了《全球射频识别 (RFID) 手术海绵计数系统行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球射频识别 (RFID) 手术海绵计数系统总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发
    GIRtina 2024-10-12 09:18 58浏览
  • 在电力系统中,高电压和高电流很常见,电气隔离对于保护设备和人员至关重要。光耦合器,也称为光隔离器,在提供这种隔离的同时,确保电力系统不同部分之间的信号平稳传输,起着至关重要的作用。近年来,国产光耦合器由于性能、可靠性和价格的提高,在电力应用中越来越普遍。本文探讨了国产光耦合器在电力系统中的实际应用,强调了它们在提高安全性、确保运行效率和支持新能源技术发展方面的作用。国产光耦合器在电力系统中的实际应用1.电网监控和控制系统电网需要持续的监控和控制,以保持稳定性并防止停电。国产光耦合器通常用于电网监
    克里雅半导体科技 2024-10-11 16:42 96浏览
  • 2024年10月12日  Global Info Research行业调研机构发布的《全球无人机自动机库行业总体规模、主要厂商及IPO上市调研报告,2024-2030》分析了全球无人机自动机库总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预
    GIRtina 2024-10-12 11:17 57浏览
  • 2024年10月12日 Global Info Research调研机构发布了《全球热封式托盘封口机行业总体规模、主要厂商及IPO上市调研报告,2024-2030》。本报告研究全球热封式托盘封口机总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模等。统计维度包括收入和市场份额等。不仅全面分析全球范围内主要企业竞争态势,收入和市场份额等。同时也重点分析全球市场主要厂商(品牌)产品特点、产品规格、收入、毛利率及市场份额、及发展动态。历史数据为2019至2023年,预测数据
    GIRtina 2024-10-12 10:33 54浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦