⚠️這篇文章的目的是提醒自己為什麼 Emacs 不再值得我花時間了。

我從 2015 年開始使用 Emacs。我已經開發了 150 多個 elisp 包,並維護了 200 多個包(包括我的包)。 留在 Emacs 社區是一段漫長的旅程,我認為放慢自己的腳步,退一步思考這些年來我所取得的成就對我來說是有好處的。

💫 我是如何進入 Emacs 的?

很多人問我這個問題,所以我決定在這裡回答一下。

我第一次看到 Emacs 是在 2015 年,當時看到的是 Casey Muratori 的 Handmade Hero 系列。 他在 Emacs 中編碼的速度讓我震驚。他如何跳到其他窗口並且永遠不離開鍵盤對我來說都是新的。

但現在看他的配置,其實並不是那麼好。他不使用任何第三方軟件包,因此他在自己的配置文件(~/.emacs 文件) 中定義了所有內容。如果不使用那些第三方軟件包,配置仍然可以很好,但它只會限制你並重新製作可能其他人已經為你完成的輪子。

除此之外,Casey 仍然是我一生所認識的頂級程序員。 ❤️

💫 我在 Emacs 上投入了多少時間?

就像我上面提到的,相信我。我投入了大量時間來完成我為 Emacs 社區所做的事情。如果你搜索我所有的包裹, 我在 MELPA 擁有最多的包裹。這次我已經證明了我有多喜歡 Emacs,但也證明了我對 Emacs 有多麼失望。 😥

💫 為什麼 Emacs 不再值得我花時間了?

首先,Emacs的開發沒有任何問題。他們在保持 Emacs 的活力方面做得非常出色,我喜歡他們的心態和大部分技術決策。

對我來說,問題在於 Elisp 開發生態系統(而不是 Emacs 社區本身;考慮 Elisp 開發生態系統是 Emacs 社區的子集)。 我很欣賞那些願意為 Emacs 做出貢獻的人,但我討厭他們不考慮他們的軟件包的跨平台功能。是的,我是 Windows 用戶;實際上, 我使用所有最常用的系統(Linux、macOS 和 Windows)。我討厭當我嘗試一個軟件包時,它只適用於特定係統(不包括僅 依賴於某些系統的軟件包),但它應該適用於所有系統。我感到可怕和沮喪,因為大多數 Elisp 開發人員不關心或不夠關心少數用戶 (Windows 用戶)。甚至一些著名的軟件包在 Windows 上也不能很好地工作,magit 很慢,straight.el 很慢,helm 很慢,ivy 很慢, projectile 壞了,eping 壞了,EAF 經常壞了等等。我使用了超過 500 個軟件包在我的配置中。我可以列出大量跨平台能力很差的軟件包。

但它們都是壞的嗎?當然不是。大多數作者都很耐心,願意幫助您解決遇到的問題。至少他們已經嘗試解決這些問題並提供解決 方法等。比如 Magit 有一個 GitHub 問題 (magit/#2982), 明確討論了 Windows 性能。 EAF 作者和維護者不斷地對遇到問題的用戶做出回應。這些項目太棒了,我非常欣賞它們! 但他們中的大多數人並不是這樣的……不幸的是,他們要么不關心,要么不夠關心。

在 2020 個 Emacs 調查中,Windows 用戶僅佔 8%!我聽到很多人說我錯了。首先,我屬於少數派;只有上帝知道我們的想法。 其次,我比任何人都希望我錯了。我不在乎我是否錯了。我希望改進用戶體驗!

許多人抱怨操作系統(Windows),建議使用 WSL 等。但這不是問題。忽視問題才是問題所在!如果您無法從其他平台解決問題, 請不要責怪該平台。怪你自己!沒有不好的系統,只有不好的程序員(在這種情況下)。.

回答我自己的問題,我厭倦了成為少數派。這是費力又乏味的。我厭倦了向其他 Elisp 開發者抱怨。對於認識我的人來說, 你知道我討厭說這一切。這是悲傷和絕望的。何必呢?您可能知道為什麼我花這麼多時間在 Emacs 上。我只是填補類 Unix 系統和 Windows 之間的差距。是的,我的所有軟件包都可以在所有平台上運行。

💫 我會離開 Emacs 社區嗎?

最簡潔的答案是不。我很可能不會再開發更多的 Emacs 軟件包;除非我真的想這麼做。但我將繼續維護我目前正在維護 的所有軟件包,因為我將繼續在未來的工作中使用 Emacs!

⚜️ 結論

我不知道這篇文章會這麼長。這對我來說是一段非常漫長的旅程。我從這個社區學到了很多東西,也認識了很多優秀的人。 我感謝那些使用我的軟件包的人和那些關心像我這樣的少數用戶的人。 ❤️🙏