Terkadang saya secara tidak sengaja membunuh buffer dan ingin membukanya kembali, seperti halnya CSt untuk membatalkan tab yang tertutup di Firefox, tetapi tidak ada perintah bawaan di Emacs, defun undo-kill-buffer
di http://www.emacswiki.org/RecentFiles :
(defun undo-kill-buffer (arg)
"Re-open the last buffer killed. With ARG, re-open the nth buffer."
(interactive "p")
(let ((recently-killed-list (copy-sequence recentf-list))
(buffer-files-list
(delq nil (mapcar (lambda (buf)
(when (buffer-file-name buf)
(expand-file-name (buffer-file-name buf)))) (buffer-list)))))
(mapc
(lambda (buf-file)
(setq recently-killed-list
(delq buf-file recently-killed-list)))
buffer-files-list)
(find-file
(if arg (nth arg recently-killed-list)
(car recently-killed-list)))))
tidak bekerja sama sekali. Jika Anda tahu sedikit, bagaimana mengatasi masalah ini?
Jika itu dapat menunjukkan daftar buffer tertutup dan mereka saya dapat memilih satu dari mereka untuk membuka kembali, itu akan lebih baik.