恢复Emacs会话/桌面

Pat*_*ren 13 ide emacs dot-emacs session-management

我一直在寻找如何恢复emacs会话,没有运气.我正在寻找恢复所有以前打开的缓冲区,其中一些可能包含erc,shell,目录列表,文件等.

每次打开emacs,我都会花很多时间来安排我的缓冲区; 将它们分成行和列,打开一个外壳,安排irc通道.上班需要一段时间.

我尝试将以下内容添加到init.el中

(desktop-save-mode 1)
Run Code Online (Sandbox Code Playgroud)

然后使用Mx桌面保存.这似乎只能恢复打开的文件,而不是shell或缓冲区中运行的任何其他内容.

我还检查了以下问题:

阅读:

这是我的emacs会话的屏幕截图示例.

一个简单的答案就是专注于实际工作:P

Boz*_*sov 8

我建议一个简单的解决方案 - 创建一个设置首选布局的函数.例如,我喜欢在屏幕的后半部分在单独的窗口中放置一些IRC频道,以便我可以不时地查看它们,同时在另一个窗口中进行编码.所以我写了一些简单的代码来处理窗口拆分并按我的意愿安排我的缓冲区:

;; show some buffers
(defun show-some-buffers (buffer-list)
  (split-window-horizontally)
  (other-window 1)
  (dolist (buffer buffer-list)
    (split-window-vertically)
    (switch-to-buffer (get-buffer buffer))
    (other-window 1))
  ;; at the end we have one extra window we need to delete
  (delete-window)
  (balance-windows))

;; show some erc buffers
(defun show-erc-buffers ()
  (interactive)
  (show-some-buffers '("#emacs" "#clojure")))
Run Code Online (Sandbox Code Playgroud)

代码非常简单,没有错误检查,但它会给你一个关于我的意思的提示.

您可能还想考虑使用寄存器来存储一些窗口配置.