buffer-sets 20170717.2040(in MELPA)
Sets of Buffers for Buffer Management

概要

buffer-sets.elは、複数のファイルバッファをひとつのグループにして扱えるようにするelispです。
あるファイルを開いたら、同時に他のファイルも開いてほしいという場合に便利です。
また、buffer-setを開いたときに実行するフォームを指定できるので、一連のファイルを開いた後に行う処理を記述できます。

現時点での使い方としては、init.elに define-buffer-set でbuffer-setを定義してから、M-x buffer-sets-load-setで開くという形になります。
あるいはM-x buffer-sets-modeというマイナーモードを有効にした上で C-x L l と操作します。

まだ開発初期で荒削りで他のコマンドにはバグがあります。
とりあえずC-x L lのバグはpull-requestを送りました。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてbuffer-setsを使う方は
以下のコマンドを実行します。

M-x package-install buffer-sets

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name buffer-sets

使用例

(progn
  ;; 現時点ではdefine-buffer-setの内容を変更しても大元のデータが反映されないので
  ;; prognによりまとめて評価するしかない。
  (setq *buffer-set-definitions* nil)
  ;; 複数のorgファイルを用意した上でM-x org-agendaを実行する
  (define-buffer-set org
    :files ("~/memo/daily-projects.org"
            "~/memo/life-misc.org"
            "~/memo/memo.org")
    ;; ファイル群を開いた後で実行するフォーム
    :on-apply ((org-agenda)))
  (define-buffer-set quickrun
    :files ("~/.emacs.d/quelpa/build/quickrun/README.md"
            "~/.emacs.d/quelpa/build/quickrun/quickrun.el")
    ;; quickrun.elバッファを選択する
    :select "quickrun.el")
  )


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。