stash 20151117.627(in MELPA)
lightweight persistent caching

概要

<2015-05-08 Fri> よりシンプルなのをお好みならばsave-sexp.elを!

Emacs Lispのデータをディスクに保存するのは比較的簡単ですが、
わざわざ記述するのは面倒です。

また、保存する処理を書くことなく、
裏でこっそりやってほしいこともあります。

そんな場合に stash.el が役立ちます。

これを使えば保存してほしい変数を
アイドル時・Emacs終了時に保存し、
Emacs再起動時に復元させられます。

とくに kill-ringminibuffer-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
復元される

本サイト内の関連パッケージ


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