Восстановите сессию/Рабочий стол Emacs

Я искал, как восстановить emacs сессию без удачи. Я надеюсь восстанавливать все ранее открытые буферы, некоторые из которых могли бы содержать erc, оболочки, списки каталогов, файлы, и т.д.

Каждый раз, когда я открываю emacs, я провожу значительное количество времени, располагая мои буферы; разделение их в строки и столбцы, открытие оболочки, расположение irc каналы. Это требует времени для получения на работу.

Я попытался добавить следующее к своему init.el

(desktop-save-mode 1)

И затем использование M-x сохраняет рабочий стол. Это только, кажется, восстанавливает файлы, которые открыты, не оболочки или что-либо еще работающее в буферах.

Я также проверил следующие вопросы:

И прочитанный:

Вот пример снимка экрана моей emacs сессии.

Простой ответ должен был бы просто сфокусироваться на реальной работе :P

13
задан Community 23 May 2017 в 11:45
поделиться

3 ответа

Я бы предложил простое решение - создать функцию, которая настраивает ваш предпочтительный макет. Например, мне нравится иметь некоторые 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")))

Код довольно прост и не содержит проверки ошибок, но он даст вам подсказку о том, что я имею в виду.

Вы можете рассмотреть возможность использования регистров , а также для хранения некоторых конфигураций окон.

8
ответ дан 2 December 2019 в 00:31
поделиться

Как вы обнаружили, desktop.el и session.el - хорошее начало, но они не восстанавливают макеты окон.

Однако, используя revive.el , вы можете сохранять / восстанавливать произвольные конфигурации окон, которые запоминаются между перезапусками.

Также ознакомьтесь с этими советами , относящимися к макетам окон, которые охватывают режим победителя и уловку с сохранением конфигураций окон в регистры.

4
ответ дан 2 December 2019 в 00:31
поделиться

В дополнение к отличному ответу @ Bozhidar по автоматизации макета вашего окна (что я делаю сам), вы также можете изучить возможность использования GNU Screen , который можно использовать для сохранения произвольного набора процессов в войти. Здесь есть довольно хороший учебник , и, поскольку вы будете использовать emacs, вы также захотите прочитать это .

2
ответ дан 2 December 2019 в 00:31
поделиться