Иногда у меня чесался палец и я убивал какой-то буфер, который я хотел вместо этого похоронить. Проблема в том, что я использую бродягу для редактирования файлов с нескольких компьютеров, и эти имена файлов становятся длинными и неприятными, и в целом я не так уж хорошо нахожу, где находятся мои файлы. Поэтому я хотел бы, чтобы emacs отслеживал файлы, которые я только что закрыл, чтобы я мог легко открыть их снова (в идеале, через приглашение ido).
Вот что у меня есть до сих пор, что не работает:
(defvar closed-files '())
(defun track-closed-file ()
(message buffer-file-name)
(and buffer-file-name
(cons buffer-file-name closed-files)))
(defun last-closed-files ()
(interactive)
(find-file (ido-completing-read "Last closed: " closed-files)))
(add-hook 'kill-buffer-hook 'track-closed-file)
Я действительно не силен в elisp и, вероятно, где-то ошибся в определении переменной и добавлении к ней ячейки...
[Я знаю о recentf
, но он отслеживает открытые файлы, а не закрытые.]