Umi Uyuraのブログ

プログラミング関連の作業ログ

Emacs 24系をセットアップした(そして.emacsの整理)

先日のdotfilesおよび環境構築の整理 と平行して、Emacsの環境も新しくしたので、その記録です。

Carbon EmacsパッケージからHomebrew版Emacs

数年前にMacを使い始めてから最近まで、EmacsCarbon Emacs パッケージ を使っていました。

それまでWindwos上でMeadowを使っていた私がMacへすんなりと移行できたのは、このCarbon Emacsパッケージがあったおかげです。

Emacsの設定で特に問題となる日本語対応などが適用されたものだったので、それまで使っていたMeadow向けのものをベースに.emacsを調整すれば、すぐに使い出すことができました。

ところが、Carbonという古いAPIベースだったためか、22.x系で更新がストップしていたので、最近の新しいツールなどが対応しなくなってきました。

個人的には、特にEmacsのGitクライアントである Magit! のバージョンが上げられないことがネックでした。

BoxenのHomebrewで過去バージョンをインストールしようとして挫折 - Umi Uyuraのブログ

そこで、今回dotfilesや環境構築手順を整理するのに合わせて、Emacs環境も新しくすることにしました。

方針&やったこと

Homebrew版(+日本語パッチ)を使う

Mac上で使えるEmacsにも選択肢がありましたが、今回の環境構築ではHomebrewベースにしていく方針だったので、Homebrew版を使うことにしました。

参考: Macで本家EmacsとHomebrew IMEパッチ版とEmacs Mac PortとAquamacsを比べてみる。 | たったのセブンクレジット

Homebrew版には日本語パッチオプションも付いているということだったのですが、どうやら現時点で最新の24.4では消えてしまっているらしく、こちらのパッチを利用させていただくことにしました。

Homebrew emacsで--japaneseオプション復活させてみた! - Qiita

$ brew install https://gist.githubusercontent.com/ksato9700/0b3c71adafc256ddf280/raw/f48ac50bf8d1a16aa63606b137cd29b8fb1d7414/emacs.rb --japanese --cocoa --with-gnutls --with-imagemagick
$ brew linkapps

Caskベースにする

Windows(Meadow)からMacへ移行し始めた頃、Emacs界で有名な るびきち氏の書籍を参考に、新しいLispパッケージを導入する際にはinstall-elisp.elやauto-install.elを使うようにしていました。

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

最近では、EmacsにもCaskというパッケージ管理ツール(Homebrew Caskと紛らわしいですね)が主流になってきているらしいということで、パッケージ管理をこっちに切り替えることにしました。

Cask自体はHomebrewで導入。

今まで使っていたパッケージも、ほとんどパッケージリポジトリから提供されていたので、移行は非常に簡単でした。

また、Caskはpackage.elというパッケージ導入ツールの仕組みがベースになっているようですが、このpackage.elのおかげで新しいパッケージを試すのも非常に簡単になったので、この点も良かったと思います。

Caskもオワコン

今回の作業中、このCaskももう古いという情報を目にしてしまいました。

今回パッケージ管理を移行にするにあたり、El-Getも発見してはいたのですが、世間的にはCaskの方が新しく、El-Getの次なのだという印象だったのですが、どちらかというとEl-Getの方が全体的に細かい設定ができ、高機能なようですね。

Caskからの移行方法も提示されていたので少し迷いましたが、自分としては今のところCaskベースで大きな問題はないので、El-Getの採用は見送ることにしました。

Meadow由来のコードを除去した

今のところスマートフォンアプリやWeb系の開発業務がメインなので、当分Macを使い続けることになりそうです。

一応、またいずれにWindowsでも開発をするかもしれないと思って、.emacsにはMeadow用の設定なども残していたのですが、ひさびさに見てみようとしたらMeadowのサイト(http://www.meadowy.org/)が繋がらなかったり、 gnupack というCygwinEmacsを導入しやすいパッケージがあったりと、こちらも環境が変わっているようなので、もし今後Windows上での開発をすることになったら、そのときに改めて環境を作れば良いかな、と思ったからです。

というわけで、10年ほど混ぜ続けた秘伝の.emacsから、MeadowWindows関連の設定を削除しました。

GitHubで管理

最終的に、前回のdotfiles同様、GitHubにて管理することにしました。

umi-uyura/dot.emacs.d

今後やりたいこと

Emacsが最新の24系になり、Caskとpackage.elで簡単に新しいパッケージを試すこともできるようになったので、まだまだ色々と試してみたいですね。

さらに最近、こちらの本も購入しました。

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

ざっと眺めたところ、これまた取り込みたいことがたくさんあったので、少しずつ.emacsも拡張していこうと思います。

参考