恢复Emacs会话/桌面 [英] Restore Emacs Session/Desktop

查看:109
本文介绍了恢复Emacs会话/桌面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



每次打开emacs,我花费大量的时间安排我的缓冲区;将它们分成行和列,打开外壳,安排irc频道。需要一段时间才能上班。



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

 (desktop-save-mode 1)

然后使用 Mx桌面保存。这仅仅是恢复开放的文件,而不是shell或任何其他在缓冲区内运行的文件。



我还检查了以下问题:





并阅读:





这是一个 截图示例



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

解决方案

我建议一个简单的解决方案 - 创建一个设置您的首选布局的函数。例如,我喜欢在单独的窗口中在我的屏幕的下半部分有一些IRC频道,以便我可以不时地看看它们,而在另一个窗口中编码。所以我写了一些简单的代码来照顾窗口拆分,并按照我的意图排列缓冲区:

  ;;显示一些缓冲区
(defun show-some-buffers(buffer-list)
(split-window-horizo​​ntal)
(other-window 1)
(dolist(buffer buffer-列表)
(垂直分割窗口)
(switch-to-buffer(get-buffer buffer))
(other-window 1))
;;在结尾我们有一个额外的窗口,我们需要删除
(删除窗口)
(balance-windows))

;;显示一些erc缓冲区
(defun show-erc-buffers()
(interactive)
(show-some-buffers'(#emacs#clojure)))

代码相当简单,功能没有错误检查,但会给您一个关于我的意思的提示。 / p>

您可能需要考虑使用寄存器以及存储一些窗口配置。


I've been searching for how to restore an emacs session, with no luck. I'm looking to restore all previously open buffers, some of which might contain erc, shells, directory listings, files, etc.

Every time I open emacs, I spend a considerable amount of time arranging my buffers; splitting them into rows and columns, opening a shell, arranging irc channels. It takes a while to get onto work.

I've tried adding the following to my init.el

(desktop-save-mode 1)

And then using M-x desktop-save. This only seems to restore files that are open, not shells or anything else running within buffers.

I've also checked the following questions:

And read through:

Here's a screenshot example of my emacs session.

A simple answer would be to just focus on real work :P

解决方案

I'd suggest a simple solution - create a function that sets up your preferred layout. For example I like to have some IRC channels in the second half of my screen in separate windows, so that I may have a look at them from time to time, while coding for instance in another window. So I've written some simple code to take care of the window splitting and arrange my buffers as I wish:

;; 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")))

The code is fairly simple and features no error checking, but it will give you a hint about what I mean.

You might want to consider using registers as well to store some window configurations.

这篇关于恢复Emacs会话/桌面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆