この記事は Emacsを使おう の続編である。 前回の記事ではVimmerにもEmacsをオススメする理由を説明しているので是非一読して頂きたい。
「Emacsを1からカスタマイズをするのが面倒くさい」という人のためにEmacsにはコミュニティによってメンテナンスされているディストリビューションがいくつか存在する。
| Star 数 | コミット数 | |
|---|---|---|
| Spacemacs | 20.5k | 11047 |
| Prelude | 4.4k | 1370 |
| Doom Emacs | 7.7k | 14304 |
これらの実体はプラグインの列挙を含む膨大なEmacsの設定ファイル ( .emacs.d ) だ。
もちろん、そこに自分の設定を加えて更にカスタマイズすることもできる。
この記事ではEmacsのディストリビューションとしてDoom Emacsをオススメする。 Doom Emacsの魅力をいくつかご紹介しよう。

hlissner/doom-emacs: An Emacs framework for the stubborn martian hacker
SPC から始まり、困ったときは SPC を押すとガイドが表示される。
コマンドからキーバインドを逆引きすることも可能。 ( SPC : )~/.doom.d 内に記述してバージョン管理できるDoom Emacsのインストール方法は、公式のマニュアルとインストーラが充実しているため割愛する。
doom-emacs/getting_started.org at develop · hlissner/doom-emacs
Doom Emacsの設定の基本となるのがモジュールとフラグだ。
~/.doom.d/init.el に、有効化するモジュールとモジュール固有のフラグを設定していく。
(doom! :lang
(python
+lsp
+poetry))
これはPythonのサポートに加え、言語サーバのサポート ( +lsp ) 及び Poetry サポート ( +poetry ) を有効にすることを宣言している。
Vimからのお引越しであれば、Doom EmacsでVimのキーバインドが使えるよう :editor evil モジュールを有効化しよう。
(doom! :editor
(evil +everywhere))
+everywhere フラグは、ファイラなどのツールバッファでもVimのキーバインドが使用できるようにするためのものだ。
この設定を保存した後に
~/.emacs.d/bin/doom sync
を実行すると、まだインストールされていないパッケージがインストールされる。
利用可能な全てのモジュールは docs/modules.org に列挙されている。
Doom Emacsは既に非常に多くのプログラミング言語や開発ツールがサポートしている。 これら全てのモジュールに深い知識で携わっているHenrik Lissnerさんの凄さが伺える。