奇想齋 友鏈 文章

選擇編輯器

2021年4月5日

編輯器是知名「聖戰」話題。就像編程語言一樣,誰都可以說上幾句。相比起來,編輯器的門檻可能還要低一點。在這一篇裏,我無意挑起爭端,只是說一下我選擇工具的理由。

微軟出品的Visual Studio Code是編輯器新貴。不得不說,它確實好用。VS Code前後端可以分離,所以遠程編輯體驗上佳。至於C/C++開發, 更輔之以IntelliSense,與Visual Studio出於同門。只可惜,VS Code並不是自由軟件。雖然VS Code宣稱開源,但是其高級功能,例如遠程編輯和C++插件,皆是插件,這些是閉源軟件。如果只看其開源部分,和Atom、Sublime比,差別不大。VS Code在安裝遠程編輯插件的時候,會自動下載一些不清不楚的軟件到服務器上。此外,還有自動升級、默認向微軟發送數據等等。所以說,這終究是一款典型的微軟軟件。雖然其開發效率確實高,但我只會在打工的時候用。

Vim用來寫代碼非常好用。回顧歷史,vi創生之初,本身就是代碼編輯器。只可惜,如果只是編輯英文還好,但是如果用來寫中文,就會很痛苦。Vim本身有「模式」,在普通模式下,諸多指令都需要用英文輸入,如果編輯模式下,又要用中文輸入法,切換會很痛苦。之前用過一個fcitx的插件,可以監聽vim時間,自動切換輸入法,不過稍微有些延遲,所以體驗也不是特別好。

Emacs我會用來寫中文,主因是Emacs的「無模式」,無輸入法切換之憂。Emacs可以用elisp語言擴展,被戲稱「僞裝成操作系統的編輯器」。不過我不太喜歡Emacs這種大而全的編輯器。它試圖成爲IDE,但是如果真的加上一堆插件讓它近似IDE,會導致它既沒有編輯器的輕便,也沒有IDE的便捷。而且,用Emacs和各類插件,快捷鍵這些,要記憶的東西很多,也容易忘記。如果長時不用Emacs,說不定自己都不記得那些插件的功用,又得勞心費力、重新開始。

這兩款編輯器我都只用了些基礎功能,沒怎麼安裝插件,只是簡單地做了些配置。我試過用GNU nano替代Emacs寫中文,不要GNU nano處理寬字符的時候,斷行處有bug,只好放棄。我一直懷疑,花費大量時間在編輯器上是否值得。我認爲好的工具應該開箱即用,Vim和Emacs開箱即用的部分都讓我滿意;但是沒有開箱即用的部分,我覺得是在讓用戶幫助補足開發者的欠缺。假如花費大量時間用來調試編輯器,組裝各類插件,那麼自身即成爲了半個編輯器開發。

小結一下的話,如果在「折騰」編輯器上樂此不疲,自然不錯;可如果志不在此,停駐於此就不合適了。即使弱小如GNU nano這樣的編輯器,也能寫出龐大的項目;這不是戲言,因爲我確實見過。至於Vim和Emacs所鼓吹「不需要方向鍵」,似乎也沒有那麼重要,現在的很多鍵盤,方向鍵離編輯區已經很近了。更何況,無論寫代碼還是寫文章,編輯的速度,從來不是影響寫作速度的主因。


⇦ 返回上一級

這裏是奈卜拉的小站。如果有評論或者建議,歡迎聯繫: nebula_moe@hotmail.com