ziguzagu.org

Emacs の設定ファイル分割をやめた

Emacs の設定ファイルを分割していたのをやめて、init.el のみにすべてを集約した。

新しい設定を追加しようと思うたびに「これどのファイルにいれるかなぁ?」みたいな、あまり意味のないことを考える必要がちょいちょいあったのだけど、この記事を読んで Helm から Vertico + Consult にシュッといってみよかな、と思ったときに、既存ファイルにいい場所がない、新しいファイル作るとしてファイル名は???というので悩んでしまったところで限界に達した。

そもそもなんでファイル分割してたのかも思い出せなかったくらいだし、分割の粒度やファイル名もいまいちだったのかもしれないけど、use-package が imenu サポートしてるということに気づいたのでガガガッとやった。

(eval-when-compile
  (setq use-package-enable-imenu-support t)
  (require 'use-package))
(require 'bind-key)

移行自体は、もともと use-pacakge を大体のところで使っていたので、分割して読み込んでいた↓ のようなところを、順次コピペ・削除して移動自体はシュッと完了。

(add-to-list 'load-path "~/.emacs.d/init")
(load "init-appearance")
(load "init-modeline")
(load "init-scratch")
(load "init-dired")
(load "init-general")
(load "init-yasnippet")
(load "init-company")
(load "init-completion")
(load "init-helm")
  :
  :

ついでに use-package 使ってなかったところもぼちぼち use-package に移行して imenu で移動・検索しやすくした。

ファイル分割時代とくらべると、

  • git grep(helm-git-grep) で検索・移動から、imenu で検索・移動になったのが圧倒的に楽
  • あたらしい設定追加時も「どのファイルにするか」というのを考えなくてよくなった

という点がとにかく快適でよい。

悪くなった点はいまのところ何もないのでもっと早くやっとけばよかったなという感じ。

https://github.com/ziguzagu/dotfiles/.emacs.d/init.el