出力を入力へ

プログラミングに関する基本的な事を中心にまとめます

.emacsにbundleを導入しました

自分の.emacsの管理がひどく、
auto-installやらなんやらで自分でも把握できていなかった。
今後emacsでの開発機会を増やす予定なので
最近流行っているel-getやらcaskやらを導入して
.emacsを整備していきたい。

どういった構成にすべきか検討していたところ
以下の記事を見付けた

d.hatena.ne.jp

Caskがどうも微妙だったので、この記事を参考に環境を構築していく。
本当はそのまま導入したかったけど自分のelisp力では理解できなかったので
なんとか自分の形に合うように導入した。


現在の自分の環境は以下。

github.com

パッケージ管理

パッケージのダウンロードにはel-get/bundleを、
設定ファイルの整理にはinit-loaderを利用する。

el-getはパッケージをrecipeファイルに従いダウンロードし、
bundleはel-getのより便利なI/Fを提供する。
実際にはbundleはel-getに取り込まれているため、
el-get-bundleとして利用できる。

init-loaderは設定ファイルを分割し、管理しやすくできる。
複数の設定ファイルに分割することで、もしエラーが発生しても
分割した他の設定ファイルは正常にロードすることができる。

これらにより構築された構成は以下

.emacs.d
├─ init.el
├─ inits/ 【init-loader設定ファイル】
├─ etc/ 【init-loader以外の設定ファイル】
├─ cache/ 【各種パッケージが生成するキャッシュファイル用ディレクトリ】
└─ v24.4.1/ 【emacsバージョンごとのインストールディレクトリ】
    ├─ elpa/ 【elpaからインストールしたパッケージ】
    └─ el-get/ 【el-getでインストールしたパッケージ】
        ├─ (各種パッケージディレクトリ)
        └─ recipes 【デフォルトのレシピ集】
            └─ emacswiki/ 【emacswikiのレシピ集】

課題

まだ解決できてない課題がたくさんある。
とりあえず動作するところで力尽きてしまったので
もう少しなんとかしたい。

主なエラーは以下。
これ以外にも細かなテクニックが理解できないが
とりあえずは保留。

各種elisp設定ファイルの修正

init.elやinits以下の設定ファイルを修正しemacsを再起動すると
なぜかinits以下の設定ファイルのロードに失敗する。
init-loaderを利用しているのでエラーとなるファイルだけ
ロードできないで済むはずが、すべてロードできなくなる。
原因不明で、el-get/bundleが生成するv24.4.1のディレクトリを
削除すると上手く動作する。

debug-on-errorの設定

各種デバッグやエラー解析のためにdebug-on-errorを設定したが、
これを設定したためにel-getが上手く動作しなかった。
原因不明。

パッケージのバージョン固定

el-get-lockを使えばできるそうだが、上手くいかなかった。
原因調査中。



ひたすらelisp力不足

Emacs Lispテクニックバイブル

Emacs Lispテクニックバイブル

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

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