Emacs 24系をセットアップした(そして.emacsの整理)
先日のdotfilesおよび環境構築の整理 と平行して、Emacsの環境も新しくしたので、その記録です。
Carbon EmacsパッケージからHomebrew版Emacsへ
数年前にMacを使い始めてから最近まで、Emacsは Carbon 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の技?
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2010/08/03
- メディア: 単行本(ソフトカバー)
- 購入: 27人 クリック: 1,039回
- この商品を含むブログ (68件) を見る
最近では、EmacsにもCaskというパッケージ管理ツール(Homebrew Caskと紛らわしいですね)が主流になってきているらしいということで、パッケージ管理をこっちに切り替えることにしました。
Cask自体はHomebrewで導入。
今まで使っていたパッケージも、ほとんどパッケージリポジトリから提供されていたので、移行は非常に簡単でした。
また、Caskはpackage.elというパッケージ導入ツールの仕組みがベースになっているようですが、このpackage.elのおかげで新しいパッケージを試すのも非常に簡単になったので、この点も良かったと思います。
Caskもオワコン?
今回の作業中、このCaskももう古いという情報を目にしてしまいました。
そうなのかー。Caskで環境作り始めちゃったから、とりあえず様子見。 / Caskはもう古い、これからはEl-Get - いまどきのEmacsパッケージ管理 - 貳佰伍拾陸夜日記 (id:tarao / @oarat) http://t.co/DSgMmzcswa
— Umi Uyura (@umi_uyura) 2015, 2月 23
今回パッケージ管理を移行にするにあたり、El-Getも発見してはいたのですが、世間的にはCaskの方が新しく、El-Getの次なのだという印象だったのですが、どちらかというとEl-Getの方が全体的に細かい設定ができ、高機能なようですね。
Caskからの移行方法も提示されていたので少し迷いましたが、自分としては今のところCaskベースで大きな問題はないので、El-Getの採用は見送ることにしました。
Meadow由来のコードを除去した
今のところスマートフォンアプリやWeb系の開発業務がメインなので、当分Macを使い続けることになりそうです。
一応、またいずれにWindowsでも開発をするかもしれないと思って、.emacsにはMeadow用の設定なども残していたのですが、ひさびさに見てみようとしたらMeadowのサイト(http://www.meadowy.org/)が繋がらなかったり、 gnupack というCygwinとEmacsを導入しやすいパッケージがあったりと、こちらも環境が変わっているようなので、もし今後Windows上での開発をすることになったら、そのときに改めて環境を作れば良いかな、と思ったからです。
というわけで、10年ほど混ぜ続けた秘伝の.emacsから、MeadowやWindows関連の設定を削除しました。
GitHubで管理
最終的に、前回のdotfiles同様、GitHubにて管理することにしました。
今後やりたいこと
Emacsが最新の24系になり、Caskとpackage.elで簡単に新しいパッケージを試すこともできるようになったので、まだまだ色々と試してみたいですね。
さらに最近、こちらの本も購入しました。
Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)
- 作者: 大竹智也
- 出版社/メーカー: 技術評論社
- 発売日: 2012/03/07
- メディア: 単行本(ソフトカバー)
- 購入: 22人 クリック: 396回
- この商品を含むブログ (1件) を見る
ざっと眺めたところ、これまた取り込みたいことがたくさんあったので、少しずつ.emacsも拡張していこうと思います。