;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; author: hjjdebug
;;; date: 2023年 03月 12日 星期日 11:39:05 CST
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;desktop 一直对多项目用的不能随心! 我希望不同的项目,在其根目录下存一个.emacs.desktop 文件,
;;从该目录启动emacs, 它自动加载以前保存的工作环境.
;;通过阅读代码及文档,找到了正确的使用方法! 原来是desktop-path一定要设对
;;第一次从项目目录读取,由于还没有.emacs.desktop , 你需要手动去调用desktop-save
;;在本目录下生成一个.emacs.desktop
;; 我用的emacs 版本为28, 估计26应该也是这样用吧?没有测试.
;;;;;;;;; 代码注释 ;;;;;;;;;;
;;保存启动目录, 因为default-directory 会随着打开不同的文件而变动,所以先保存
(setq project-root-path default-directory)
;;把根目录添加到desktop-path, 这里很关键
(push project-root-path desktop-path)
(if (file-exists-p
(concat project-root-path ".emacs.desktop"))
(progn
(desktop-read) ;开机从本地目录(你的启动目录project-root-path)读取
;;;;当emacs退出时保存当前文件状态
(add-hook 'kill-emacs-hook
`(lambda ()
;;这里project-root-path 已经保留下来了,不会变动了
(desktop-save project-root-path t)))))
;;save-mode 只是启动定时器,每30s检查一次是否需要自动保存项目,可以忽略,退出emacs 保存就可以了
;;(desktop-save-mode t)
下一篇:全面认识天线,你所不了解的知识!