本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。为什么Vim这个1991年正式发布、到现在已经快30岁的“老牌”代码编辑器如此受欢迎?在2019年“StackOverflow”最流行开发环境调查中,Vim仍然并列第四,约有25%的Web开发者在使用它。在它之前,所有的代码编辑器都是2000年之后出现的。除了“老”之外,Vim还有一点困扰着大家,那就是“难用”。如果你没有使用过它,你甚至不知道如何退出!而这个难用的梗是经久不衰的。例如,“StackOverflow”有一个将近八年的问题,仅在2天前就处于活跃状态,已累积210万次浏览量。“如何退出Vim编辑器?”这看似简单的问题,却依然经久不衰,引发了网友们的热烈讨论。这时候你可能会想问,为什么这个Vim这么难用却这么受欢迎呢?了解一下它的历史渊源,或许就能窥见一些道理。半个世纪的积累最近,博主Nikola?uza介绍了Vim是如何起步的——《Vim是如何变得如此流行的》。还记得“打卡”的旧时光吗?将“穿孔卡”放入计算机中可以进行编程。对于这种方法,它们的放置顺序很重要。想象这是一张4.5mb的数据堆叠在62500张打孔卡中的图片,然后删除它,重新排序。但是,随着计算机功能和存储量的增长,打孔卡逐渐不能满足程序员的需求。这时出现了QED编辑器(ed的前身),从而进入了“行编辑”时代。ed编辑器ed编辑器是贝尔实验室开发的一款经典行编辑器,于1973年正式发布,至今已有47年历史,但时至今日依然可用。如果您使用的是Linux或MacOS,请打开终端并键入ed以获取简单的行编辑器。如果要写入文件,请键入a并按Enter开始写入文本,键入.退出附件模式。然后写入文件,可以输入“wmyfile.txt”回车,最后输入q退出。#eda嘿那里!I'mqbitai.I'musingedrightnow.Howcool!.wmyfile.txt60q使用Vim的网友可能会觉得很眼熟。Vim和ed有很多相似之处。这位博主提到,如果你会用Vim,那么ed会很快上手。例如,:q和ed之后是em。它有“凡人的编辑器”(theeditorformortals)的称号。也就是说,em可以做和ed一样的事情,但是没有ed那么神秘,更适合大多数人使用。Vim的前身——Vi,然后在em代码的基础上,Sun联合创始人兼首席科学家BillJoy开发了ex,可以看作是一个扩展版本。它在之前的模式基础上增加了可视化模式,可以在屏幕上打开文件。三年后,操作系统引入了可执行文件Vi,但仍然可以通过Vi/Vim访问ex命令。正是他奠定了今天Vim编辑器的关键设计基础。如果你发现快捷键很难记住,就责怪他。当时BillJoy使用的键盘是这样的:esc键在当前的tab位置,方向键和字母键混用,这就注定了Vim怪异的按键设计。vi于1979年发布,那么Vim是如何诞生的呢?Vim的诞生是从Vi发布后的“模仿”开始的,许多人开始模仿和克隆vi编辑器。那个时候就有这样一个“ViImproved”脱颖而出。它是由“BramMoolenaar”创建的,他也是软件开发工具A-A-P和编程语言Zimbu的开发者。使用Vim的人可能都见过他的名字。Bram使用了一个名为STEVIE的Vi克隆,并注意到它缺少vi的许多命令。他添加了一些新特性使其与vi兼容,并以“ViImproved”的名义发布。1993年的2.0版本开始使用Vim这个名字,并一直沿用至今。这个几乎集成了近半个世纪的智慧和心血的Vim,把很大的精力放在了兼容性上。该博主还表示,也许Vim以一些有用的功能而闻名,但Vim之所以一直屹立不倒,是因为它兼容几乎所有你能想到的东西。这也是很多程序员爱用Vim的主要原因。加上强大的兼容性、强大的按键设计、可自行设置快捷键等优势,这一切都让Vim成为提高工作效率的绝对利器!人们又爱又恨,当Vim诞生时,鼠标并不是计算机的标配,于是Vim试图对其进行优化以实现纯键盘操作。后来随着图形界面和鼠标的普及,更多的代码编辑器脱颖而出,鼠标操作的学习门槛低了,但是效率不如Vim老手。这就是Vim让人又爱又恨的原因。说到Vim,国内程序员怎么看?首先,上手难:用Vim写界面还行,但还是要学会Vim的快捷键,不然太痛苦了。但是习惯了之后,我就可以像苍蝇一样使用Vim了:熟悉之后,操作起来确实很快,而且我特别不喜欢使用上下左右键。也有Vim的重度用户来表示,真正的Vim高手是不需要鼠标的~就是喜欢那种双手不用离开键盘就能掌控一切的感觉,Vim能让我操作文本更准确并且高效。不过这位网友也提到,对于新手来说可能不是特别友好,因为Vim有一定的学习成本,只有非常熟练才能感受到它带来的便利。如何花式退出Vim?那么回到最初的问题,如何退出Vim?更不用说正经的方法了(:q!),有人已经总结出了上千种花哨的退出方法,请看这里:Vim苦了好久!硬核程序员教你花式退出Vim,每周获得2400星吐槽。你觉得Vim好用吗?您在编写代码时使用哪个编辑器?
