Alex Baldwin撰文祝賀Vim迎來30周歲生日
說起來似乎很難相信,Vim 在兩極分化的開發者社區中經歷了三個十年且依然強大。 雖然有固步自封的成分,但這對於用戶來說倒也無關緊要。 正如美劇《矽谷》等影視節目所調侃的劇情一樣,讓程式師們在感恩節餐桌上討論”誰是最好用的文本編輯器”,引發的爭議可能堪比不同政治或宗教觀點的激烈碰撞。
(來自:Simple Thread)
不過在 Vim 迎來 30 周歲生日這個大好日子,Alex Baldwin 還是認為可以暫時擱置一下爭議。
與任何其它開發團隊一樣,我們隊伍之中也充滿了 Vim 狂熱派或『異端』。
愛好好、恨也罷,忠實使用者一直在尋找新方法來拓展這款實用程式的功能體驗。
時至今日,Vim 仍是最受歡迎的編輯器之一,並且老使用者有一句嘲諷力 Max 的臺詞 —— 你用的文本編輯器’奔四’了嘛?
在反覆運算飛速的技術領域,似乎沒有什麼事物能夠長久存在。 但在 Vim 身上,它確實一直在陪伴著一代人的成長。
如果將 Vim 稱之為「恐龍」(化石),顯然是不合適的。 相比之下,這款工具更適合被稱作「鯊魚」(利器)。
那麼,它到底又是如何做到的呢? 在這篇以生日祝賀為主題的文章中,Alex Baldwin 將概述 ——”為什麼即使在 30 年後,Vim 仍像 1991 年初期一樣重要? ”
首先:Vim 的”無限可配置性”,使之成為了經驗豐富的開發者們的好助手。 不過很多人在體驗到這一點之前,都被 Vim 陡峭的學習曲線給勸退。
選用 Vim 這樣的開發工具,並不像是一項廉價的投資。 只有將目光放得更加長遠,你才能夠獲得豐厚的回報。
其次,即使有比 Vim 更棒的開箱即用工具,對於那些能夠從更寬容和更靈活的工具中受益的人們來說,約定俗成的配置,也是頗具優勢的,尤其對那些並非每天都在壘代碼的開發者來說。
另一方面,Vim 提供的是一種遠超其它工具的撥入配置的原始能力。 對於剛從培訓班裡畢業的新手們來說,這款工具的准入門檻也是相當高的。
當然,開發者們最常打交道的,無非是輸入和操作文本。 任何任何可能導致該過程中斷的事情 —— 例如需要挪動滑鼠 —— 對開發效率的影響都是相當顯著的。
得益於廣大開發者堅持不懈的優化,Vim 使用者基本上都在努力將雙手一直放在鍵盤上。 以節省時間和保持流暢的工作狀態,最終説明其交付更好的軟體。
數十年來,Vim 團隊深刻瞭解這部分使用者的核心利益,並在不斷加強這方面的競爭優勢,比如:
● The Mighty —— Vim 編輯器允許跨多行重新運行一系列命令,雖然看似一個簡單的宏,但其在複雜文本的操作上卻異常強大。
● Easy Motion —— 在不使用滑鼠的情況下,該功能可幫助開發者輕鬆、快速地跳轉到不同的行 / 列位置。
● 文本體驗至上 —— Vim 是在滑鼠或觸控板導航尚未成為主流的時代構建的,因而所有內容(甚至配置設置)都是通過文本的形式存儲的。 搜索也不通過 GUI 進行抽象,而是能夠即刻、直接應用於操作。
文本至上體驗還可消除通過圖形使用者介面(GUI)導航以找到調整任何設置(或樣式)的正確位置的猜測。
通過將設置作為文本來處理,Vim 還在設置中提供了元數據註釋 —— 這顯然是 GUI 永遠無法做到的。
值得一提的是,Vim 中的很多提示都沿襲自 Unix,後者更是一切都通過文本來顯示和展開交互。
由於 vi 屬於 Unix 標準的一部分,因而你能夠在任意 Unix 環境中使用它。
有趣的是,儘管直線撤銷很不錯,但 Alex Baldwin 認為Vim 的撤銷功能也被極大地低估了。
因為它提供了版本歷史記錄,通過記錄每次擊鍵,讓用戶盡可能接近於《瑞克與莫蒂》風格的代碼多元宇宙。
Shell 命令方面:編輯器中整合的功能可讓開發工作變得更加輕鬆。 與在第二視窗或單獨終端中運行的命令不同,Vim 能夠本地運行 shell 命令來新增 / 移除 / 更改檔案許可權。
緩衝區與文件選項卡方面:與其嘗試記住在哪兒打開了哪個檔,不如簡單地用鍵盤來搜索你想要查看的任何文本或檔。
● 我最近編輯了那些檔?
● 那個該死的全域文件在哪裡?
● 我一小時前編輯的那個 API 調用呢?
緩衝區不會讓你的大腦負擔過重,而是允許一次打開數百個檔,並通過簡單的搜索進行查詢訪問。
最後,Alex Baldwin 解釋了 Vim 為何仍然重要:
雖然時光已經改變了許多事情,但程式設計人員的實際操作和輸入代碼的方式,與 30 年前相比並沒有太大的不同。
在上世紀 90 年代初期,Vim 就是一款極具遠見的產品,且今日依然與開發者們高度相關。
因為它仍然忠實於使用者最根本的需求 —— 一種簡單、但又極其強大的文本輸入與操作方式!
Vim 傾聽並理解程式師需要什麼、以及完成工作需要哪些關鍵優勢。
自誕生之日起,核心團隊一直以此為戒,嚴格遵循使用者需求、明確生產力至上,而不偏向於花裡胡哨的介面。
在 30 周歲紀念之日,我們迫不及待地想要看到 Vim 會在未來 30 年裡走向何方!