Emacs與AI,你一直錯過的組合
作者因頻繁切換窗口進行開發而感到煩惱,尤其是使用Claude等AI工具時。受此啓發,他想到讓Claude直接為他編寫Emacs插件,結果Claude不僅生成了可用的解決方案,而且效果出色。作者認為,如今藉助AI,任何人都可以自定義自己的編輯器。
我一直對開發時需要在不同窗口間頻繁切換感到不滿。和當今大多數工程師一樣,我大量使用Claude、Codex等任何能減少按鍵和腦力負擔的工具。於是,我發現自己不斷按Cmd+Tab在摯愛的Emacs實例和運行的Claude代碼實例之間切換。那一刻,我頓悟了,彷彿蘋果從樹上落下。
自大學以來,我斷斷續續使用Emacs,因為整個系都根植於它。現在想來,每個計算機科學新生,無論主修方向,都曾在舊Mac工作站上通過GUI使用Emacs。我一直在編輯器間搖擺,嘗試尋找能像Emacs一樣驅動多種功能的工具,但大多空手而歸(Zed.dev除外)。儘管Emacs一直很強大,但直到那一刻我才完全領悟。
函數式編程對我而言一直有些難以捉摸,因此我在Emacs中的自定義經驗主要是從生態系統中下載新插件和包。雖然我從不懂elisp,但Claude似乎非常擅長。
在來回切換時,我心想:“如果我能直接寫個TODO(@claude)或QUESTION(@claude),然後Claude會保存並響應或進行行內修改,那該多好?”我悲觀地哼了一聲:“當然,好像你的半成品項目還不夠多似的。去用你幾乎不認得的語言寫個Emacs插件吧。”但就在這時,我意識到:為什麼不直接讓Claude來寫呢?
説到這,不得不提,我的代理編碼大多變成了對話而非一次性任務。因此,當Claude不僅生成了一個可用的解決方案,而且看起來非常棒時,我震驚了。它運行良好,甚至很出色!Emacs擅長快速開發循環,所以將插件“加載”到當前Emacs窗口也變得非常簡單。
我們已經到了這樣一個時代:如果你希望編輯器以某種方式呈現、行為或工作,你口袋裏就有一個強大的開發者。我建議你啓動一個Emacs實例,即使你以前從未用過,並記下你想要改變的地方。只需將列表交給Claude,就能看着它打造你的夢想編輯器。Emacs是一個操作系統,它運行你的程序,而代理編碼已經為你的理想工作站掃清了障礙。