如何在Spacemacs重启后恢复之前scratch buffer中没有保存的内容

有个专门干这事的包:

我没用过上面提到的包,考虑到很容易实现,比如我自己用的:

(defun chunyang-scratch-save ()
  (ignore-errors
    (with-current-buffer "*scratch*"
      (write-region nil nil "~/.emacs.d/var/scratch"))))

(defun chunyang-scratch-restore ()
  (let ((f "~/.emacs.d/var/scratch"))
    (when (file-exists-p f)
      (with-current-buffer "*scratch*"
        (erase-buffer)
        (insert-file-contents f)))))

(add-hook 'kill-emacs-hook #'chunyang-scratch-save)
(add-hook 'after-init-hook #'chunyang-scratch-restore)

我没用过 Spacemacs,或许它有特别的方法。

2 个赞