如何使用Emacs保存当前打开的会话和缓冲区?
(desktop-save-mode 1)
仅在一个打开缓冲区时保存
答案 0 :(得分:1)
您可以在此处详细了解:http://tsdh.wordpress.com/2006/11/26/conveniently-save-and-restore-frame-configuration/
在emacs中,您可以在多个窗口中拆分每个帧。这样的 配置称为窗口配置。窗户 所有帧的配置构成帧配置。这里有一些 可以保存和恢复这种帧配置的功能 只有一把钥匙。首先,我们定义一个将被使用的寄存器 默认用于保存帧配置:
(defparameter th-frame-config-register ?° "The register which is used for storing and restoring frame configurations by `th-save-frame-configuration' and `th-jump-to-register'.")
接下来是保存功能。如果你使用前缀arg调用它,你可以 选择一个不同的注册:
(defun th-save-frame-configuration (arg) "Stores the current frame configuration in register `th-frame-config-register'. If a prefix argument is given, you can choose which register to use." (interactive "P") (let ((register (if arg (read-char "Which register? ") th-frame-config-register))) (frame-configuration-to-register register) (message "Frame configuration saved in register '%c'." register)))
现在我们需要一个恢复帧配置的功能。默认情况下,它使用th-frame-config-register,但是使用了 前缀arg你可以选择任何寄存器。 (你不能使用这个功能 仅用于恢复帧配置,但用于您可以执行的所有操作 跳转到寄存器...)
(defun th-jump-to-register (arg) "Jumps to register `th-frame-config-register'. If a prefix argument is given, you can choose which register to jump to." (interactive "P") (let ((register (if arg (read-char "Which register? ") th-frame-config-register))) (jump-to-register register) (message "Jumped to register '%c'." register)))
好的,我们要做的最后一件事是创建一些键绑定。我选择 F5 和 F6 :
(global-set-key (kbd "<F5>") 'th-save-frame-configuration) (global-set-key (kbd "<F6>") 'th-jump-to-register)
现在每当你有一个复杂的窗口/框架配置时按F5保存它并按F6恢复它。
答案 1 :(得分:1)
部分答案:保存所有缓冲区运行save-some-buffers(例如通过文件菜单“执行命令”或更方便地使用M-x组合键)然后回答“!”到第一个查询(意思是保存,不要再问)。如果没有这样的提示,则无论如何都不需要保存缓冲区。
对于“开放会话”,如果这意味着窗口布局,拆分位置等,那么三重要点指向的问题是有用的。但是,这比编辑器中通常的“全部保存”命令要多。