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)あたりを使うのかなあ。