Vim 公案

英文原文:Tom Ryder - Vim Koans
本翻译已获得原作者 Tom Ryder 的许可。

Wq 大师和 Windows 开发者

Wq 大师正在指导一些 Vim 菜鸟。在他赞美许多 Vim 的美德的演讲之后,他问道是否还有问题。 一个年轻人举起了手。

“大师,通过怎样的手段可以过滤出纯文本表格中包含‘tcp’的行的第二列?”

Wq 大师什么也没说,转过去在身后的白板上写道:

:%!awk '/tcp/ {print $2}'

其他学生窃窃私语并表示赞同。

“但是我是在 Windows 下开发的⋯⋯”那个学生结结巴巴的说。

Wq 大师再次转过身去,擦掉了命令并写道:

:v/tcp/d
:g/tcp/s/\S\+\s\+\(\S\+\)\s.*/\1/

“什么!对于这样一个简单问题来说这太复杂了!”那个学生哭诉道。

Wq 大师再次转过身去,擦掉了命令并写道:

Microsoft Excel

学生顿悟。

没有太大的差异

一天,一个和尚拜访了 Wq 大师,并询问道:“大师,如果我掌握了 Vim,我的代码会有什么不同?”

Wq 大师回答道:“使用 Vim 之前:声明、定义、处理、打印;使用 Vim 之后:声明、定义、处理、打印。”

Wq 大师和 Markdown 侍僧

一个 Markdown 侍僧来找 Wq 大师并向他展示他的 Vim 插件。

“看,大师。”他说道:“我差不多已经完成了 Vim 宏,它可以将 Markdown 转化为 HTML。 我的函数纵横交织,我的解析器是效率的典范,并且我的结果完美无瑕。 我敢说我已经掌握了 Vimscript,并且我的作品将会验证 Vim 是一款面向英明的开发者的现代编辑器! 我做的正确么?“

Wq 大师读了好几分钟侍僧的代码一语不发。 然后他打开一个 Markdown 文档,并键入:

:%!markdown

HTML 立即填满了缓冲区。 侍僧哭了起来。

Wq 大师和 Unix 大师

一个年长的 Unix 大师来找 Wq 大师。

“我很困惑,Wq。关于你教导 Vim 的方式。 Vi 是圣洁的,但是 Vim 不是;它的代码蔓延满地,他的特性吞噬内存;他的二进制庞大臃肿;他的行为颇不一致。 这并不是 Unix 之道。我害怕你已经误导了你的学生。有什么可以挽回的么?”

Wq 大师点点头。“你说的对”,他说道。“Vim 并不完整。我们来修复它吧。我们开始好么?”

年长的 Unix 大师表示同意,并打开一个命令行。他键入:

$ vi vim.c

他开始写代码。Wq 大师看着他很长一段时间然后问他:“你实现的是哪种 Vi?Nvi?Vim?Elvis?”

“我不知道”,Unix 大师说道。“管它呢。”

Wq 大师点点头。 Unix 大师呆坐片刻,没有保存便关闭了文档。

没有最好的工具

一天晚上有风暴,Wq 大师的房子塌了。 第二天早上,他用他的旧工具开始重建房子。 他的学徒过来帮他,他们建了一段时间并取得了良好的进展。 在工作的过程中,学徒开始跟 Wq 大师讲他最近的成果。

“大师,我开发完一个绝妙的 Vim 脚本,可以给出一个文档的所有有用的信息。 它能计算单词、句子、段落的数量,甚至可以告诉你这个文档使用的是什么语法高亮规则。 我一直在我的状态栏中使用它。 这是一个优美的作品,我对它非常的自豪。 诚然,Vim 是一个伟大的工具!”

Wq 大师没有回应。以为自己无意中触怒了大师,学徒陷入沉默并继续工作。

学徒并排放置了两块木板并摆好了钉子,正准备钉进去,却发现够不到锤子。

“能帮我递下锤子么,大师?”

Wq 大师递给学徒一把锯子。

学徒顿悟。

Pope 大师的梦

Pope 大师有一次梦到自己成为了 Emacs 用户。 当他醒过来的时候,他感叹道:

“我不知道是我 Tim Pope 梦到了我是一个 Emacs 用户,还是一个 Emacs 用户梦到了我是 Tim Pope!”

优越的编辑器

Neil 大师和 Wyatt 大师因教导 Vim 之道而闻名,他们周游各地教导学生。

一天一个学生问他们:“Neil 大师谈吐温和平稳,他说的话小心谨慎,语调却不容置疑。 但是 Wyatt 大师却充满激情,开始和停止,他的演讲快速而充满活力,他的灵魂融入了他的演讲。 请问教导 Vim 的方式哪个最优秀?”

Neil 大师和 Waytt 大师异口同声地答道:“编辑器哪个最优秀?Vi 还是 ex?”

数个学生顿悟。

慢学生的绝望

Wq 大师正在吃午餐,一个学生冲进来他的房间跪在他的脚下。 眼睛里充满泪水,他看起来有深深的挫败感。 Wq 大师放下他的碗问道:“什么让你如此沮丧,年轻人?”

“大师”,他说道:“我放弃了。我永远也掌握不了 Vim! 我永远也学不会前人伟大的方法! 我永远也学不会将 Vim 用得简单粗暴并有着完美的效率!”

“你为什么这么说?”

“目前为止,我是最差的学生。 当我挣扎着写了一个简单的宏,我的同学们正在轻松地写着递归宏。 当我试着记住空格字符的正则表达式时,我的同学们正在写 Vimscript 中的循环复杂度测试。 我太慢了,我感到羞愧,恐怕我已经失败了。”

Wq 大师站起来。“跟我到窗前”,他说道。

学生站起来跟随 Wq 大师到了窗前,看到街道对面 Wq 大师邻居的房子。 透过窗户,两个像是西装革履的年轻人正在写一份文档。

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

“那个年轻人正在用 Microsoft Excel 来生成电子表格。 它正在手动更新每一个单元。 他甚至都不知道如何使用公式。 他输入大写字母要按 Caps Lock,输入完了再按一下。 他太慢了! 我不明白。他为什么还能这么愉悦?”

“看到这个年轻人,你为什么不能?”Wq 大师回应道。

学生顿时就领悟了。他的名字是 Qa,之后他成为了一名伟大的大师。

征服 Vimscript

一个学生询问 Wq 大师:“我什么时候可以知道我已经掌握了 Vimscript?”

Wq 大师回答道:“当你从未用过它的时候。”

Vim 的挽歌

一个年轻人恳求 Wq 大师做他的观众,听他读他最近的作品,一首 Vim 辉煌的挽歌。 他眼中噙着泪水开始朗读他的肺腑之作,仿佛将他的灵魂倾倒在他对文本编辑器的崇拜之心上。

大师坐在那里听了一会他的诗。 第十句诗之后,他举起了他的手。 “请你不要读了。你的诗太可怕了。”

年轻人非常的生气。

“Wq 大师,你肯定是所有人中最能感受这首诗的人。你是一个了解编辑器之美的人。 你怎么可以如此毫不耐烦、不屑一顾?甚至这首诗我都是用 Vim 写的!”

“你用 Vim 写的”,大师说道。“但是你的格式是不均匀的,你的韵脚是不一致的,你的隐喻模糊不清。 你用了一个很好的工具写了一首很糟的诗。 你不是诗人,Vim 也不能让你成为一个诗人。 我的学生有很多并不是程序员,Vim 也同样没法帮助他们。”

“Vim 是永恒美丽的”,诗人抗议着。“对于挽歌来说它是值得一写的题材。”

“Vim 不会永恒的。 Nvi 不会永恒的。 Vi 本身也不会永恒的,只有 Vi 的本质才会。 Emacs 有着 Vi 本质,nano 有着 Vi 本质,甚至 Notepad 也有 Vi 本质。 你目光狭窄,你趋炎附势,因此你没法把握你诗的主题的真正价值。 你必须离开。等你掌握了 Emacs 再回来。”

诗人非常的羞愧地离开了。他再也没有回来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容