Answers:
从Emacs 24.4开始,您可以使用desktop-save-mode。多年来,它一直是Emacs的一部分,但是自24.4版以来,仅保存和还原了窗口布局。
只需在您的init文件中添加以下行:
(desktop-save-mode 1)
desktop-save-mode
。窗口布局是指当前显示多少个窗口以及它们的位置。desktop-save-mode
不保留此布局。
在您的init文件中编写一个与该函数接近的函数,您可能需要对其进行一些修改以满足您的需求:
;; layout definition
(defun my-startup-layout ()
(interactive)
(delete-other-windows)
(split-window-horizontally) ;; -> |
(next-multiframe-window)
(find-file "~/.emacs.d/init.el")
(split-window-vertically) ;; -> --
(next-multiframe-window)
(find-file "~/.emacs.d/init_settings.el")
(next-multiframe-window)
(dired "~")
)
;; execute the layout
(my-startup-layout )
有没有办法让Emacs从上次使用中恢复相同的屏幕组织(窗口和文件)?
你应该看看布局包
您可以workgroups2
用来管理桌面。从GitHub上的README:
工作组是Emacs的会话管理器。
- 它将所有打开的缓冲区,它们的位置和大小保存在磁盘上,以便以后还原
- 您可以创建多个工作区
您还可以还原以下缓冲区:org-agenda,shell,magit-status,help。
如果启用了MELPA存储库,则可以通过来安装此软件包M-x package-install
RET workgroups2
RET。
基本设置是:
(require 'workgroups2)
(workgroups-mode 1) ; This should go at the end of your init file
在将此代码添加到init文件之后,第一次重新启动Emacs时,workgroups2
将自动为您创建一个工作组。您可以通过检查*Messages*
缓冲区中的以下信息来验证此操作是否成功:
Workgroups Mode: on
Switched: First workgroup
Created: First workgroup ( -<{ 0: First workgroup }>- )
从这时起,Emacs将在退出时自动保存Windows和文件的当前配置,并在下次启动时将其还原。
我一直在使用模仿sanityinc的.emacs.d的东西。它使用desktop-save-mode
,并且足够聪明,可以frame-restore
在较早版本的emacs上使用。自述frame-restore
自package-list-packages
:
保存和恢复Emacs框架的参数。
只需调用
frame-restore' in your
init.el':(帧还原模式)
请注意,自r113242起,内置的桌面保存模式将还原帧。如果您使用的Emacs快照版本晚于此版本,则 强烈建议您使用桌面保存模式:
(桌面保存模式)
如果在其“桌面保存”模式可以还原帧的Emacs构建中启用了“帧还原”模式,则会显示粗体警告。