fnwiyaBlog

EmacsとかLispとか可視化とか

Emacsで設定ファイルを初めてバイトコンパイルする方法とその後自動で更新する方法

タイトルのままです。
バイトコンパイルすると1.5〜2倍ほど起動速度が早くなるとかならないとか。

初めてバイトコンパイルする方法

以下のコードをScratchバッファあたりのすきなところでC-x C-eで実行
("~/.emacs.d/loader-init"の部分は自分の設定ファイルが置いてあるところに読み替えてください。)

(byte-recompile-directory (expand-file-name "~/.emacs.d/loader-init") 0)

設定ファイルのあるディレクトリに*.elcファイルができていたら成功です。

設定ファイルを更新した場合に自動でバイトコンパイルしなおしてくれる設定

auto-async-byte-compileをインストールして(melpaにあります)設定ファイルに以下のコードを追加

(require 'auto-async-byte-compile)
(add-hook 'emacs-lisp-mode-hook 'enable-auto-async-byte-compile-mode)

これでファイルを保存したときにバイトコンパイルしなおしてくれます。

(setq auto-async-byte-compile-exclude-files-regexp "/junk/")

でバイトコンパイルしないディレクトリを指定することもできます。
(上記の場合、open-junk-fileで作ったファイルを排除しています。)

もう起動が遅いなんて言わせない。
現在の起動時間1.4秒(Ubuntu14.04LTS・64bit)