[翻譯] Vim 公案
英文原文:http://blog.sanctum.geek.nz/vim-koans/
簡中翻譯:http://ranmocy.info/translation/vim-koans/
本文以簡中翻譯轉繁體,修改部份用詞以及標點符號。
轉載已徵得原譯者同意。
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 再回來。」
詩人非常的羞愧地離開了。他再也沒有回來。
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.131.232
→
03/25 20:39, , 1F
03/25 20:39, 1F
→
03/25 20:42, , 2F
03/25 20:42, 2F
→
03/25 20:43, , 3F
03/25 20:43, 3F
→
03/27 04:13, , 4F
03/27 04:13, 4F
Translate-CS 近期熱門文章
PTT數位生活區 即時熱門文章