通过工作区,我的意思是 - 我要救我打开的缓冲区的状态(可能在用户指定的工作区文件),并迅速切换到另一套开放的缓冲区,如继续对有关的另一个项目文件的工作。
是否有一个Emacs的插件,它允许吗? 你会推荐哪一个?
通过工作区,我的意思是 - 我要救我打开的缓冲区的状态(可能在用户指定的工作区文件),并迅速切换到另一套开放的缓冲区,如继续对有关的另一个项目文件的工作。
是否有一个Emacs的插件,它允许吗? 你会推荐哪一个?
我使用的组合保存,受访的文件和工作组 。 事实上,工作组可能会做你最想通过自己的本然。
我的配置:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; workgroups for windows
(setq wg-prefix-key (kbd "C-c z")
wg-no-confirm t
wg-file (concat emacs-persistence-directory "workgroups")
wg-use-faces nil
wg-switch-on-load nil)
(defun wg-load-default ()
"Run `wg-load' on `wg-file'."
(interactive)
(wg-load wg-file))
(defun wg-save-default ()
"Run `wg-save' on `wg-file'."
(interactive)
(when wg-list
(with-temp-message ""
(wg-save wg-file))))
(with-library 'workgroups
(define-key wg-map (kbd "C-l") 'wg-load-default)
(define-key wg-map (kbd "C-s") 'wg-save-default)
(workgroups-mode 1)
(add-hook 'auto-save-hook 'wg-save-default)
(add-hook 'kill-emacs-hook 'wg-save-default))
就个人而言,我已经使用了`persp模式” :
视角为Emacs的基础上,
perspective-el
由Nathan魏泽鲍姆。 但观点帧之间共享+能力保存/恢复自/至文件。
desktop.el将在您的情况有所帮助。
它可以从emacs的包缓冲器(从它的介绍页面复制):
保存在桌面,即 - 一些全局变量 - 与相关文件缓冲区的名单。 对于每一个缓冲区也 - 主要模式 - 默认目录 - 点 - 标记 - 标记 - 主动 - 缓冲区只读 - 一些局部变量
如果您使用的是Linux / GNOME3,你可以试试这个扩展名: https://extensions.gnome.org/extension/361/emacs-manager/这个扩展可以让你通过管理多个emacs的守护进程同时在不同的项目工作,保存/恢复缓冲区的状态。
广濑Yuuji的revive.el已经很好地为我工作了一段时间。 我用在revive.el的意见提出的标准配置。 该文档写得很好,恢复是非常容易使用和配置。 特别是,revive.el具有比一些重振那些更复杂一点的配置更好的支持。 如果你与广濑Yuuji的结合起来,是特别好的windows.el 。 它们是由一起工作。 windows.el能够召回窗口拆分等revive.el是建立与朝着在特定设置更深的模式集成的可扩展的眼睛。 但对于我的使用,我发现它是相当不错的开箱即用的,但我想我接下来会调整它恢复,我目前还没有安装的w3m窗口(更新:我现在做:见底部)。
这里是我的复活配置。 我有一些有益的意见,首先为windows.el然后revive.el在线:
(provide 'my-revive-config)
(require 'windows) ; use this with revive so that window splits are recallable
; too
(win:startup-with-window) ; start with window 1
;;;[Key Bindings]
;;;
;;; The default prefix key stroke for Windows is `C-c C-w'. If it
;;; causes you some troubles, see the section `Customizations'.
;;; Here are the default key bindings.
;;;
;;; C-c C-w 1 Switch to window 1 (Q)
;;; C-c C-w 2 Switch to window 2 (Q)
;;; :
;;; C-c C-w 9 Switch to window 9 (Q)
;;; C-c C-w 0 Swap windows with the buffer 0 (Q)
;;; (Select unallocated frame(Emacs 19))
;;; C-c C-w SPC Switch to window previously shown (Q)
;;; C-c C-w C-n Switch to next window
;;; C-c C-w C-p Switch to previous window
;;; C-c C-w ! Delete current window (Q)
;;; C-c C-w C-w Window operation menu
;;; C-c C-w C-r Resume menu
;;; C-c C-w C-l Local resume menu
;;; C-c C-w C-s Switch task
;;; C-c C-w = Show window list (Q)
;;;
;;; The key strokes to select windows from 1 to 9 must be
;;; frequently used, so the alternative key strokes `C-c [Num.]' are
;;; available by default (And any function with (Q)mark can be
;;; invoked without C-w). To disable these quick key strokes, set
;;; the variable win:quick-selection to `nil' in your ~/.emacs.
(autoload 'save-current-configuration "revive" "Save status" t)
(autoload 'resume "revive" "Resume Emacs" t)
(autoload 'wipe "revive" "Wipe Emacs" t)
(define-key ctl-x-map "S" 'save-current-configuration)
(define-key ctl-x-map "F" 'resume)
(define-key ctl-x-map "K" 'wipe)
;;;
;;;[How to use]
;;;
;;; Call `save-current-configuration' (`C-x S' if you define key as
;;; above) when you want to save current editing status and call
;;; `resume' to restore it. Numerical prefix arg to them specifies
;;; the buffer number in which the editing status will be saved.
;;; Here the buffer refers to a revive s-exp in ~/.revive.el of
;;; which there can be n
;;;
;;; [Sample Operations]
;;; C-u 2 C-x S ;save status into the buffer #2
;;; C-u 3 C-x F ;load status from the buffer #3
这方面有别人喜欢变种复活,plus.el和GitHub上稍加修改克隆 ,但我更喜欢原来的。
更新周一,2015年1月12日:现在我可以恢复的w3m在恢复(详见并在实例特定的外观复兴revive.el文档:主要模式 - 命令ALIST默认):
(setq revive:major-mode-command-alist-private
'(("*w3m*" . w3m)))
请注意,你是在告诉重振w3m的缓冲区的名字。 即使你有多个标签,只有第一个需要被列举如上。
以下是我设置为恢复从以前的会话的所有标签的w3m的变量:
(setq w3m-session-load-last-sessions t)