Practice of Programming

プログラム とか Linuxとかの話題

開いてたファイルを覚えておく

標準であるのか。今まで知らなかったなんて、なんてアホな...。

以下で見付けました。
http://www.bookshelf.jp/soft/meadow_23.html#SEC247

M-x desktop-save で、ホームディレクトリを指定する。
.emacs.el に下記を書いてみた(空白より上は、上記サイトからのコピペ)。

6/14修正: なんかいろいろ書いてたけどいらんみたい

; 保存しないファイルの正規表現
(setq desktop-files-not-to-save "\\(^/[^/:]*:\\|\\.diary$\\)")

(desktop-save-mode 1)

これで、終了時に開いていたファイルを、次回Emacs起動時に自動的に読み込んでくれます。
Emacs2つ立ち上げる使いかたをしている場合、(desktop-read) は書かないほうがいいかも。
(desktop-save-mode 1)6/14追記:書いた時点で読み込んじゃいますね。コマンドラインオプションに、--no-desktopと
ドキュメントに書いてたけど、理解しないけどな...


だが、どっちかっていうと、ファイル開いたり、バッファ消したりするときに、やってくれていいような気がする(異常終了したときとか)。
よくわからないまま、下記追加。6/14追記:find-file-hooksはやりすぎかもしれない。起動時にうるさい。

(add-hook 'find-file-hooks 'desktop-save-in-desktop-dir)
(add-hook 'local-write-file-hooks 'desktop-save-in-desktop-dir)

バッファ削除時と思われるhookには単純に足してもダメでした。
また、今度調べよ。