Иногда я получал зудящий палец и убивал некоторый буфер, который я хотел похоронить вместо этого. Проблема в том, что я использую tramp для редактирования файлов с нескольких компьютеров, и эти имена файлов становятся длинными и неприятными, и, как правило, я не так хорошо разбираюсь в том, где мои файлы в любом случае. Поэтому я хотел бы, чтобы 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
, но это отслеживает открытые файлы, а не закрытые файлы.]