Đôi khi, tôi vô tình giết một bộ đệm và muốn mở lại nó, giống như CSt để hoàn tác tab đã đóng trong Firefox, nhưng không có lệnh tích hợp nào trong Emacs, defun undo-kill-buffer
trong 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)))))
hoàn toàn không hoạt động. Nếu bạn biết elisp, làm thế nào để giải quyết vấn đề này?
Nếu nó có thể hiển thị một danh sách các bộ đệm đã đóng và chúng tôi có thể chọn một trong số chúng để mở lại, điều đó sẽ tốt hơn.