Vim Koans

2020-11-21 12:03:40

感谢万章生,这两个可汗已被独立翻译成中文,这要归功于Daniel CampoverdeCarrión。

Wq大师正在针对Vim的一些新手。在关于Vim的许多知识的演讲之后,他问是否有任何问题。一个年轻人举起了手。

“主人,用什么方法可以对包含字符串'tcp'的所有行的纯文本表的第二列进行过滤?”

“什么!对于这样一个简单的任务,这太复杂了!”那个学生哭了。

有一天,一位和尚拜访了Wq大师,并问道:“大师,当我精通Vim时,我的代码会有什么不同?”

Wq大师回答说:“在Vim之前:声明,定义,处理,打印。在Vim:declare之后,定义,处理,打印。”

“看,主人,”他说,“我几乎完成了将Markdown转换为HTML的Vim宏。我的函数交织在一起,解析器是效率的典范,结果几乎完美无缺。我敢说我已经掌握了Vimscript,我的工作将证明Vim是开明的开发人员的现代编辑器!我做对了吗?”

Wq大师花了几分钟才读了助手的代码,然后什么也没说。然后他打开Markdown文档,然后键入:

一个老的Unix大师来到Master Wq。 “我很烦,Wq。您教Vim的方式。 vi是圣洁的,但Vim不是;它的代码泛滥,具有大量的内存功能;其二进制文件很大,行为不一致。这不是Unix的方式,我担心您会误导学生。该怎么办?”

Wq大师点点头。 “你是对的,”他说。 “ Vim坏了。让我们修复它。我们开始吗?”

他开始编码。 Wq大师看了一会儿,然后问他:“ vi的实现方式是什么? Nvi? Vim?猫王?”

Unix大师说:“我不知道。” “没关系。”

Wq大师点点头。 Unix大师震惊了片刻,并关闭了未保存的文档。

一天晚上有一场暴风雨,Wq大师的房子倒塌了。第二天早上,他开始使用他的旧工具再次构建它。他的新手来帮助他,他们建立了一段时间,并取得了良好的进展。当他们工作时,创新者开始将Wq大师的最新成就告诉他。

“主人,我开发了一个很棒的Vim脚本,可以提供有关文档的各种有用信息。它对单词,句子,段落进行计数,甚至使用语法高亮显示规则告诉您所使用的文档类型。我一直在管道中使用它。这是美的事,我感到非常自豪。的确,Vim是最棒的工具!”

Wq大师没有回复。以为他不知不觉地激怒了他的主人,新奇沉默了下来,继续他的工作。

新手完成了对两个梁的对准,并把钉子钉好,准备打入木头,但发现锤子伸手不到。

“我不知道我是Tim Pope梦见自己是Emacs用户,还是Emacsuser梦想着我是Tim Pope!”

Neil大师和Wyatt大师因在Vim方面的教学而闻名,并在全国各地授课。

有一天,一个学生问他们:“尼尔大师冷静而均衡地说话,他的口音对他的言语轻描淡写,仿佛计划到了音节。但是怀亚特大师充满热情,他开始和停止,他的演讲敏捷而充满活力,他的灵魂流淌在他的演讲中。教Vim的最好方法是什么?”

尼尔和怀亚特大师一致回答:“哪个是最佳编辑:vi orex?”

当学生冲进房间跪下时,Wq大师正在吃午饭。眼泪在他的眼中,他似乎深感沮丧。 MasterWq放下碗,问:“年轻人,这让您感到不舒服吗?”

“主人,”他说。 “我放弃。我将永远无法掌握Vim!我将永远不会学习伟大的族长的方式!我将永远无法实现残酷的简单性,完美高效地使用Vim的神圣空虚!”

“到目前为止,我是你最糟糕的学生。当我在努力编写一个简单的宏时,我的同学们正在轻松地编写递归宏。当我试图记住空白字符的正则表达式时,我的同学正在用Vimscript编写循环复杂度测试。我太慢了,我感到ham愧,恐怕我失败了。”

学生站起来,跟随Wq大师到窗前,穿过街道望向Wq大师的邻居的房子。透过窗户,两个人可以看到一个穿着西装和领带的年轻人,正在处理文件。

“你看到了什么?” Wq大师问。学生看了一会儿。

“那个年轻人正在使用Microsoft Excel生成电子表格。他用手更新每个单元。他甚至都不知道如何使用公式。他按了Caps Lock,然后在完成后再按一次,以大写字母书写。他太慢了!我不明白。他怎么会这么满足?”

那位学生立刻被开悟了。他的名字叫Qa,后来成为伟大的大师之一。

一位学生问Wq大师,“我什么时候才能掌握Vimscript?”

一个年轻人恳求Wq大师向观众朗诵他的最新作品,这是Vim的荣耀。他用含泪的眼神读出他衷心的话,倾心于文字编辑的崇拜。

主人坐了一段时间,听了诗人的话。第十节之后,他举起了手。 “拜托,别再说了。你的诗真可怕。”

“ Wq大师,当然,你们所有人都可以最欣赏这首诗,您知道这首诗的伟大之美。你怎么能这么简洁,那么不屑一顾?我什至在Vim中写下了这首诗!”

大师说:“您是在Vim中写的。” “但是您的仪表不平衡,韵律不一致,隐喻混杂。您用非常好的工具写了很糟糕的诗。你不是诗人,Vim不会使你成为诗人。我的很多学生都不是程序员,Vim也不会帮助他们。”

诗人抗议说:“ Vim永远美丽。” “这是值得颂扬的主题。”

“毒气不是永久的。 nvi不是永久的。 vi本身不是永久的,只有vi。 Emacs具有虚拟性,nano具有虚拟性,甚至记事本也具有虚拟性。您缩小视线,变得更加执着,因此您无法掌握诗歌主题的真实价值。你必须离开掌握了Emacs之后再回来。”

一个下午,Wq大师正在一棵松树下打坐。他想到风轻而易举地穿过树叶和树干,既使树叶移动,又因树叶的存在而改变其航向。一个学生走近,紧张地待命。终于鼓起了她所有的勇气,学生说:

“我已经掌握了运动,我了解了宏,我熟悉了源代码,还没有接触过vimscript。我听从了您的每一个建议,对每一次教义都作了反思。但是,有些事情我无法理解,在Vim的任何地方都找不到你的名字。从来没有人在帮助页面上感谢过您。怎么可能?在所有Vim大师中最伟大的,所有人都不知道吗?在一次绝望的最后尝试中,我跑了:Wq,终端对我尖叫:

“您认为自己犯了大罪。然而,微风仍然沿着它的路径前进,树叶发出通常的声音,而天空却不那么油腻。”

当伟大的大师讲这话时,他用尖锐的鹅卵石在泥土中写道: