きっかけ
gnupackで配布されているEmacsを使っていたのだけど、cygwinバイナリに変更された。cygwinはすでに自分でインストールしているので、今さらgnupackへ移行が出来ない。野良ビルドされたEmacsで必要条件に合致する物が見つからなかったので、しかたなくEmacs24.4を自分でコンパイルすることにした。
ビルド
MSYSやMinGWをそろえていないので、cygwinバイナリでコンパイルした。IMEパッチは、rzl24ozi’s gists · GitHubで配布をされている物を使用した。
tar xvfJ emacs-24.4.tar.xz patch -b -p0 < emacs-24.4-w32-ime.diff ./autogen.sh ./configure --with-w32 --without-dbus --without-xim --without-imagemagick --prefix=/usr CFLAGS="-march=native -O2" make make install
起動方法
今
Terminalから起動させることが苦痛になり、emacsをデーモンで常駐させて、emacsclientを使っている。
電源ON時に実行するbatファイル
C: cd C:\cygwin\bin\ bash --login -i -c "emacs --daemon"
Emacsを起動する際
CraftLaunchで"emacsclient -nqc"を実行している。
バッファが増え続ける
daemon起動したことにより、Emacsが常駐するのでバッファが増え続けることにふと気づいた。編集が終わったファイルのバッファは基本的に解放してもらってかまわないので、tempbufをインストールして裏で解放するようにした。今は、10分程度は保持するようにしている。
(setq tempbuf-minimum-timeout 600) (when (require 'tempbuf nil 'noerror) ;; ファイルを開いたら自動的にtempbufを有効にする (add-hook 'find-file-hooks 'turn-on-tempbuf-mode) )