网易首页 > 网易号 > 正文 申请入驻

世界上最厉害的编程神器 ,被大多数人抛弃了......

0
分享至

  如果你第一次在Linux上打开vim时,遇到了图中的情况,不要尴尬,其他人的第一次vi之旅也是这样的。

  

  等你开始练习vi,就会发现很多古怪的现象,比如:

  为什么使用H、J、K、L来移动光标?用上下左右箭头键不好吗?

  为什么vi要分为分为指令模式,插入模式,命令行模式?切来切去,多麻烦啊!

  模式切换为什么要用Esc键?它在键盘的左上角,想要按到它实在太难了!

  另外,vi的学习曲线为什么如此陡峭?

  

  这么难用的东西,我为什么要用它?IDE不香吗?

  要想回答这些问题,我们得回到vi诞生的那个时候。

  1

  1975年秋天,Unix光环加身的大神Ken Thompson回到母校伯克利大学做学术休假,他把带来的Unix系统安装到了一个PDP-11/70上,顺手还写了一个Pascal编译器。

  

  嗯,大牛就是这么牛。

  此时另外一位大神Bill Joy刚刚入学,他在用Pascal写项目作业的时候,发现了编译器的缺陷,他也决定做一个黑客,把这个编译器改好。

  

  那时候没有IDE,他们使用一个叫ed的文本编辑器来程序,ed也是大神Ken Thompson写的。

  

  ed不好用,后来有人写出了em,Bill Joy又改进了em, 把它变成了en ,然后是eo, ep...... 最后是ex!

  不管怎么改,它们都是“行编辑器” ,和我们现在用的文本编辑器最大的不同是:

  没有光标!只能按行编辑!

  是不是有点匪夷所思?没光标怎么玩啊?

  举个例子,有一个文件有两行,内容如下

  hello wold !

  this is an example

  我发现第一行的wold写错了,想改一下,怎么做呢?

  那第一步需要先输入1(表示选中第一行),第一行就会显示出来。

  然后用s 命令调用搜索函数,后面跟着搜索文本和替换文本

  再输入1,看看结果对不对。

  整个过程如下,是不是挺让人崩溃的?

  1

  hello wold !

  s/wold/world

  1

  hello world !

  唉,当时的程序员过的都是什么日子啊!

  Bill Joy 使用ex这个“趁手”的工具,很快就把Thompson留下的“烂摊子”Pascal编译器给收拾好了,新的Pascal编译速度很快,运行起来也很快,深受学生们的喜爱。

  后来,伯克利大学购买了一批叫做ADM-3A的终端,在屏幕上终于支持可以随意移动的光标了!

  

  Bill Joy 欣喜异常,他花了几个月时间熬夜,重新设计了ex, 增加了“可视化模式”,ex变成了大名鼎鼎的vi。

  2

  如果你自己看看ADM-3A终端的键盘,你就会发现两件神奇的事情。

  

  1.它没有单独的上下左右键

  所以H、J、K、L 键只能“兼职”来移动光标。

  2.Esc键和现在的Tab键在同一位置

  Bill Joy 用它来做模式切换很方便,左手无需离开主行就可以轻松按到。

  尽管后来PC的键盘发生了很大变化,但是习惯成自然,这两个操作依然被无数用户守护者,沿用至今。

  vi是从ex等行编辑器发展而来,也继承了很多行编辑器的操作,比如用户都可以使用类似 /pattern 的命令来搜索文本,以及使用

  s/old/new/ 的形式来替换文本,或者通过指定行号来定位文本(例如,3 定位到第三行,$ 定位到最后一行)

  这些操作如果在编辑模式下,就会出问题,3可能就表示用户的文本,而不是命令了。

  当然,也可以在编辑模式引入一个特殊的键如ctrl 来处理,最常见的是ctrl + c 表示复制, ctrl+v表示粘贴。

  但是,如果一个字母无法表达想要做的事情,需要敲入多个字母的时候,ctrl特殊键的方式就痛苦了,毕竟一个手指按着ctrl键,然后再敲一长串字母是很不爽的,对吧?

  vi把编辑模式和命令模式区分开,就可以在命令模式玩出花儿来,甚至可以基于基本的词来“造句”

  动词

  动词表示对文本的操作,例如

  d delete 删除

  r replace 替换

  y yank 复制

  v visual 选择

  名词

  表示待编辑的文本对象

  w word 一个单词

  s sentence 一个句子

  p paragraph 一个段落

  修饰符(有人称为介词)

  表示待编辑文本的范围或者位置

  i inside 表示在...之内

  a around 表示环绕

  t till 直到某个字符(不包括该字符)

  f find 直到某个字符(包括该字符)

  然后就可以组词成句了:动词 + 介词 + 名词 ,例如:

  删除当前的单词 : diw (delete inside word)

  改变当前的句子:cis(change inside sentence)

  删除文本直到字符e : dte (delete till 'e')

  选择一个句子:vis (visual inside sentence)

  非常强大也非常自然,并且vi还支持自定义,可以定制一套属于自己的动词名词结构出来。

  当然,复杂的操作可以用鼠标+菜单的方式来实现,那就需要把手从键盘上挪开了。

  值得注意的是,vi 是在Modem只有300波特率的时候编写的 !

  即使后来的1200波特率,传输文本的速度也比大多数人阅读的速度慢,更别说300波特率了,这深刻地影响了vi的设计。

  Bill Joy曾经“酸酸地”说过:那些开发Emacs的家伙们坐在MIT的实验室中,有着像现在光纤一样快的网络,他们可以在屏幕闪烁的情况下发出有趣的命令,而我坐在伯克利的简陋房子里,用着极其缓慢的调制解调器,几乎无法让光标离开底线。人们不会知道,vi是为了一个已经消失的世界编写的

  3

  1979年5月,Bill Joy发布了vi,初期用户可能只有75个人。

  但是vi像野火一样,迅速烧遍了Unix世界。

  1988年,Bram Moolenaar 写出了vi的模仿品,Vi IMitation(简称vim)。

  随后几年,他不断完善,1991年,正式发布了vim,不过,此时它的含义是 Vi IMproved。

  不管怎么模仿、改进,它依然保留了vi那些来自 ADM-3A的,“古怪”的按键和模式,因为这已经成了vi程序员的信仰。

  

  一旦你跨过了那陡峭的学习曲线,真正掌握了vim,你就掌握了一个最厉害的编程神器,那些vim熟手在使用vim时,双手在键盘上翻飞,光标在屏幕上游动,代码在飞速地变换,让人赏心悦目。

  但是,vim“古怪”的按键和模式,让更多的程序员浅尝辄止,退回到了传统的编辑器和IDE,不能不说,这是一个很大的遗憾。

  我的新书《码农翻身2》近期正式出版,这本书开启了5折优惠,全彩印刷,用故事给技术加点料,原价118元,现在仅需59元。

  《码农翻身》1和2 是我一二十年经验的总结,现在只要花几十块就可以买到一二十年积累的精华,很划算啊!

  这本书有两大特色:

  1. 用故事讲解技术,好玩有趣

  从封面的两幅漫画就能看出来,一幅是Java派人到Python王国进行渗透,被抓起来了。一幅是一队JavaScript士兵,张牙舞爪地对后端王国进攻。

  书中每一篇都是一个独立的小故事,读起来毫无负担,可以放在床头,当做睡前故事,不知不觉间就把技术给掌握了。

  2. 直击最重要的技术本质,酣畅淋漓。

  不用担心被软件的琐碎细节给绊住,每一个故事都会给主人公设置难题,不断地挑战他,等他解决一个,就再设置一个,这样一层层剥下去,最后就把软件的本质给暴露出来。

  读完以后让你有种“原来如此”的快感,非常过瘾。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
笑不活了,果然祖坟不可能一直冒青烟,要被评论区笑疯了

笑不活了,果然祖坟不可能一直冒青烟,要被评论区笑疯了

今日搞笑分享
2024-05-13 02:57:18
退休后,存款高于这个数,你就是富有之人

退休后,存款高于这个数,你就是富有之人

华人星光
2024-05-23 15:35:55
乌克兰盯着打:俄罗斯核弹预警的超视距雷达沃罗涅日-DM也被炸了

乌克兰盯着打:俄罗斯核弹预警的超视距雷达沃罗涅日-DM也被炸了

探索星空
2024-05-25 10:15:02
体制内最舒服的三个单位:不愁钱,没事做,待遇好!

体制内最舒服的三个单位:不愁钱,没事做,待遇好!

侃故事的阿庆
2024-05-24 01:14:24
只用一招,中国经济便遭遇滑铁卢,GDP占美国的比重从77%跌至59%

只用一招,中国经济便遭遇滑铁卢,GDP占美国的比重从77%跌至59%

风马牛研究院院长
2024-05-22 16:54:25
爆辽篮冠军后卫加入广厦队,马尚有意辽宁队,新疆队三外援全淘汰

爆辽篮冠军后卫加入广厦队,马尚有意辽宁队,新疆队三外援全淘汰

宗介说体育
2024-05-26 15:15:20
中国最“难吃”的10大城市,号称“美食荒漠”,它们冤吗?

中国最“难吃”的10大城市,号称“美食荒漠”,它们冤吗?

阿莱美食汇
2024-05-11 07:45:21
两性关系中让人舒服的四种姿势

两性关系中让人舒服的四种姿势

户外阿崭
2024-05-18 05:38:49
经济往来!谭竹也给胖猫发过5.21元红包,并备注还给你

经济往来!谭竹也给胖猫发过5.21元红包,并备注还给你

映射生活的身影
2024-05-25 10:57:35
江苏省常州市发布强对流黄色预警

江苏省常州市发布强对流黄色预警

北青网-北京青年报
2024-05-26 15:06:16
西安女硕士失踪2年,录音成破案关键,白人丈夫:我会把你埋进地里

西安女硕士失踪2年,录音成破案关键,白人丈夫:我会把你埋进地里

人间史名人录
2024-05-24 17:11:53
听说现在首付降至15%,我朋友说,想不明白那些花4.5千块租房的人

听说现在首付降至15%,我朋友说,想不明白那些花4.5千块租房的人

我不叫阿哏
2024-05-21 10:00:45
特斯拉创始人马斯克:我赞成对中国电动汽车“不征收关税”

特斯拉创始人马斯克:我赞成对中国电动汽车“不征收关税”

音乐时光的娱乐
2024-05-24 08:51:42
中央定调:2024年70岁及以上老人可享“3项优待”,包括农民在内

中央定调:2024年70岁及以上老人可享“3项优待”,包括农民在内

天下纵览
2024-04-13 12:39:22
武统、和统都没希望?台湾军事专家:中国大陆已经走上第三条路

武统、和统都没希望?台湾军事专家:中国大陆已经走上第三条路

睿鉴历史
2023-08-25 12:00:02
大S的悲苦日子到了!520具俊晔送她了个大惊喜:韩国婆婆接来了!

大S的悲苦日子到了!520具俊晔送她了个大惊喜:韩国婆婆接来了!

娱乐八卦木木子
2024-05-24 00:19:08
乌克兰M1A1坦克安装新型反无人机格栅装甲 完全覆盖炮塔的弱点

乌克兰M1A1坦克安装新型反无人机格栅装甲 完全覆盖炮塔的弱点

hawk26讲武堂
2024-05-25 15:48:39
搞不懂,我舅妈怎么看上我舅舅的

搞不懂,我舅妈怎么看上我舅舅的

匹夫来搞笑
2024-04-19 07:35:24
年薪一千万欧!穆里尼奥下一站确定,接手土超劲旅,一年后回欧冠

年薪一千万欧!穆里尼奥下一站确定,接手土超劲旅,一年后回欧冠

祥谈体育
2024-05-25 11:00:28
这张图片看上去怪怪的!原来他将藤牌拿反了

这张图片看上去怪怪的!原来他将藤牌拿反了

作家李楠枫
2024-05-12 22:22:55
2024-05-26 18:10:44
码农翻身
码农翻身
有趣且硬核的技术文章
12文章数 136关注度
往期回顾 全部

科技要闻

QQ的大哥,宣布关闭!已运营28年

头条要闻

耶伦回应"动用冻结的俄资产收益援乌":快达成协议了

头条要闻

耶伦回应"动用冻结的俄资产收益援乌":快达成协议了

体育要闻

足总杯,红魔小鬼的成人礼

娱乐要闻

霍启仁求婚成功,郭晶晶要有妯娌了

财经要闻

李嘉诚,为何频频“打折卖楼”?

汽车要闻

底盘升级/首搭DM5.0混动技术 比亚迪秦L到店

态度原创

艺术
健康
旅游
教育
数码

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

在中国,到底哪些人在吃“伟哥”?

旅游要闻

外国游客对小笼包好奇,看了20分钟后问道…

教育要闻

一个四位数,千位和个位相同,百位是十位的3倍,十位是个位的3倍

数码要闻

Tim Cook:Vision Pro 用户在首次试用时往往会"情绪激动"

无障碍浏览 进入关怀版