2015年27週目まとめ

tmux環境を整えた

画像のように、tmux内でemacsを開きつつ、zshを表示するようにしました。
ただペインを分けているだけでなく、ペインの中身はウィンドウなので、
ウィンドウを作って入れ換えたり、左右の中身を入れ換えたり出来ます。

具体的にはこんな感じで、分割を維持したまま各シェルを入れ換え可能です。 2015-07-06-tmux.png

入れ替えはswap-paneを利用しています。
https://github.com/abicky/swap-pane

gemのAnnotateが便利

https://github.com/ctran/annotate_models

DBからSchemaを読み取り、対応するモデルが書かれたファイルにその情報を書き込むgemです。
このモデルにどんなカラムがあったっけ?って時に、schemeファイルから探し出す必要がなくなるので大変便利です。
また、情報はコメントに追加されるため、既存のコードの邪魔になったり勝手にアクセサが追加されたりしないのも便利です。

emacsのパッケージ管理

現在私のemacsはpackage.el、el-get、init-loaderの3つを使ってパッケージ管理をしています。
package.el、el-getがパッケージのDLや読み込み、init-loaderが設定ファイルのロードをしています。

具体的な使い方はググれば解るので省略するとして、使い分けとこの構成になった理由は以下の通りです。

なお、以下のリポジトリに設定ファイルが置いてあります。 https://github.com/ota42y/dotfiles

パッケージ本体の管理

まず、package.elはMELPA等専用なため、そこにあるパッケージはこちらで管理します。
一方で、githubや個別のgitリポジトリで管理されているものはel-getでrecipeを書いて管理しています。
機能的にはel-getだけで完結しますが、package.elの方が楽なので基本はpackage.el、
そこでカバーできないものをel-getで管理させています。

また、これらで管理されているものは自動でロードされるようになっているため、
設定ファイルに追加するだけでインストールが完了します。

パッケージ設定の管理

init-loderを使うことで、特定フォルダ内の設定ファイルを一気に読み込むことが出来ます。
このため、気軽に設定ファイルを分割できます。

ファイル名に数字を入れる事で読み込む順番の設定も出来るため、
package.elがダウンロードし、読み込みが終了してからパッケージの設定ファイルを読み込むように設定しています。

また、私の環境では、el-getでinit-loaderを管理しているため、
el-get>init-loder>package.el>その他の設定ファイルの順で実行をしています。
el-getも自動インストールするようにしているため、設定ファイルを持って行くだけで全て自動でインストールできます。

まとめ

  • recipeに追加(必要なら)
  • 使用するパッケージを追加する
    • package.elの場合
      • init-loderから読まれるpackage.el用の設定ファイル
      • 無ければ自動で読み込む
    • el-getの場合
      • emacs.dのinit.elに名前を書く
      • recipeを元にDLする
    • 自動で読み込みも行われる
  • 設定をconf下に書く
    • init-loderが読み込む
    • カスタマイズが必要ならば