- stash 20151117.627(in MELPA)
- lightweight persistent caching
概要
Emacs Lispのデータをディスクに保存するのは比較的簡単ですが、
わざわざ記述するのは面倒です。
また、保存する処理を書くことなく、
裏でこっそりやってほしいこともあります。
そんな場合に stash.el が役立ちます。
これを使えば保存してほしい変数を
アイドル時・Emacs終了時に保存し、
Emacs再起動時に復元させられます。
とくに kill-ring や minibuffer-history を
復元するのに役立ちます。
psession.el(レビュー) や session.el は
Emacs終了時に変数の値を保存しますが、
途中でEmacsが落ちてしまった場合はきちんと復元できません。
よって、アイドル時に保存する方がよいわけです。
今すぐすべての変数を保存するには
M-: (stash-save-all)
を実行します。
保存先は ~/.emacs.d/stashes/ 以下になります。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてstashを使う方は
以下のコマンドを実行します。
M-x package-install stash
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name stash
設定 150206050344.stash.el(以下のコードと同一)
;;; 永続化したい変数を宣言する ;;; (or stashed 'nil)は読み込み時にデフォルトでnilにするおまじない (defstash kill-ring "kill-ring.el" nil (or stashed 'nil)) (defstash minibuffer-history "minibuffer-history.el" nil (or stashed 'nil))
実行方法
$ wget http://rubikitch.com/f/150206050344.stash.el $ emacs -Q -f package-initialize -l 150206050344.stash.el kill-ringやminibuffer-historyを変更する $ emacs -Q -f package-initialize -l 150206050344.stash.el 復元される
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。