EmacsとAI、あなたが見逃していた組み合わせ
開発中にウィンドウを行き来する煩わしさにうんざりしていた著者は、ClaudeにEmacsプラグインを自作させることを思いつきます。驚いたことに、Claudeは完璧に動作するソリューションを生成しました。著者は、AIのおかげで誰でも簡単にエディタをカスタマイズできると主張しています。
私は、開発中にウィンドウを行き来しなければならないことにうんざりしていました。最近のほとんどのエンジニアと同様、私はClaudeやCodexなど、キーストロークや余分な精神的負担を減らしてくれるものなら何でも活用しています。そのため、愛用のEmacsインスタンスと実行中のClaudeコードインスタンスを切り替えるために、Cmd+Tabで新しいウィンドウに移動している自分に気づきました。その瞬間、私は啓示を受けました。まさにリンゴが木から落ちるような瞬間でした。
大学以来、私はEmacsを断続的に使ってきました。学部全体に浸透していたからです。今思うと、コンピュータサイエンスの新入生は皆、専攻を問わず、古いMacワークステーションでGUIを介してEmacsを使っていました。ともあれ、私はエディタを渡り歩き、Emacsほど多くのことをうまくこなせるものを見つけようとしてきましたが、ほとんど空振りでした(Zed.devには拍手)。しかし、Emacsは常に強力に感じられたものの、その瞬間まで完全には理解できていませんでした。
関数型プログラミングは常に私には難しく、Emacsのカスタマイズ体験は主にエコシステムから新しいプラグインやパッケージをダウンロードすることに終始していました。elispには決して習熟できませんでしたが、Claudeはelispに非常に優れているようです。
行き来しているうちに、私は考えました。「TODO(@claude)やQUESTION(@claude)と書くだけで、Claudeが保存を検出して応答したり、行内で変更を加えたりできたら素晴らしいのに」と。そして、悲観的に鼻で笑いました。「もちろん、中途半端なプロジェクトが足りないと思っているんだろう。ろくに知らない言語でEmacsプラグインを書けだって。」しかし、その時ひらめいたのです。なぜClaudeに書かせないのか?
ここで言っておかなければなりませんが、私のエージェンティックコーディングのほとんどは、一回限りのタスクというよりも対話に移行しています。だからこそ、Claudeが動作するソリューションを吐き出しただけでなく、見た目も素晴らしいものだったことに衝撃を受けました。それはうまく機能し、実際素晴らしかったのです!Emacsは迅速な開発ループに優れており、プラグインを現在のEmacsウィンドウに「取り込む」ことさえ簡単でした。
私たちは、エディタの見た目や動作を思い通りにしたいと思ったら、ポケットに強力な開発者がいる時代に到達しました。今まで一度も使ったことがなくても、Emacsインスタンスを起動し、変更したい点をメモすることをお勧めします。そのリストをClaudeに渡せば、あなたの夢のエディタを構築する様子を見守ることができます。EmacsはOSであり、プログラムを実行します。そしてエージェンティックコーディングは、理想のワークステーションへの道を実質的に切り開いたのです。