Respostas:
Além de automaticamente restaurando seu última sessão do Emacs Nesse estado, você também pode salvar qualquer número de estados de sessão e restaurá-los sob demanda em qualquer outra sessão, qualquer número de vezes. IOW, você pode alternar facilmente entre desktops diferentes .
A maneira mais fácil de fazer isso é carregar biblioteca Bookmark + e use a chave C-x r K para salvar o estado da sessão atual como um marcador da área de trabalho. Você pode restaurar qualquer indicador de desktop em qualquer sessão usando a chave C-x j K.
Aqui está algum código para fazer isso. Para o código funcionar, você precisa da biblioteca Lisp "tapeçaria" instalada. Se você usar o mensageiro da VM, já terá a biblioteca instalada. Caso contrário, você pode baixe daqui .
Coloque o seguinte código no seu arquivo .emacs. Quando você quiser restaurar a configuração de sua janela e quadro da sua última sessão do Emacs, digite M-x load-my-tapestry RET.
(require 'tapestry)
(defvar my-tapestry-file "~/.tapestry")
(defun load-my-tapestry ()
(interactive)
(let ((b (find-file-noselect my-tapestry-file)))
(sit-for 0)
(set-tapestry (read b))
(kill-buffer b)))
(defun save-my-tapestry ()
(interactive)
(let ((tap (tapestry)))
(with-temp-buffer
(let ((standard-output (current-buffer)))
(setcar tap (make-list (length (car tap)) nil))
(print tap)
(write-region (point-min) (point-max) my-tapestry-file)))))
(add-hook 'kill-emacs-hook 'save-my-tapestry)
M-x load-my-tapestry RETEu só tenho (New file) set-tapestry: End of file during parsing em mini-buffer e nada carregado na janela do Emacs.
M-x save-my-tapestry uma vez e o processo deve ser inicializado.
let: Wrong type argument: listp, config erro no mini-buffer agora.
config variável no meu código de resposta ou em tapestry.el. (setq debug-on-error t) e obtenha um stacktrace. Isso deve indicar onde o erro está acontecendo.
set-tapestry: End of file during parsing erro novamente. Eu abri uma sessão do Emacs, abri dois quadros e carreguei dois arquivos diferentes em cada um deles, então M-x save-my-tapestryentão feche. Reabra o Emacs, então faça M-x load-my-tapestry RET, deu set-tapestry: End of file during parsing.