kill-bufferをundoしたい
直前に閉じたバッファを開く っていう機能ないのかな。 なかったら作ろうかな。 Firefoxの「タブを閉じるをやり直す」みたいな。
なんてぼやいたところ、なおとさんからたたき台が!。
すばらしい。これならたいていのシチュエーションで救われますね。
(defvar killed-file-name nil) (add-hook 'kill-buffer-hook (lambda () (when (buffer-file-name) (setq killed-file-name (expand-file-name (buffer-file-name)))))) (defun find-killed-file () (interactive) (when killed-file-name (find-file killed-file-name) (setq killed-file-name nil)))
上記elispはkilled-file-nameを一個記録するんですが、一個ではなくスタックデータ構造にpushしていくとさらに良いと思うものの、言語として実装方法が分からず今晩は時間切れで断念。
(stack-push STACK ELEMENT)あたりを使うのかなあ。