2010-11-18 69 views
6

我一直在为Emacs玩Buffer Ring,我真的很喜欢有几圈缓冲区的想法。但是,我想进一步。我进入了所谓的“背景”。我通常一次处理大约三个项目。通常项目涉及不同的文件和不同的语言。有时候,我的框架中会有一个窗口和一个调试窗口,这样很好,有时他们会阻碍它。我想为每个项目设置一个上下文,以便我可以运行一个命令,并通过缓冲区更改以及帧。我也可能会有一些misc上下文,这些上下文并没有实际绑定到像编辑.emacs这样的项目,以包含新的包和键绑定。Emacs的上下文

是否有Emacs功能可以执行这些“上下文”?在会话之间保留上下文将会很好。

回答

1

使用Bookmark+您可以为当前的“桌面”(缓冲区,窗口,寄存器,搜索环等的当前状态)添加书签。然后在稍后的日期,您可以跳转到书签以恢复保存的状态。

由于desktop.el不知道缓冲环,您可能必须适当地自定义desktop-globals-to-save

(我自己没有用过这个,但是听起来像是你之后的那种东西。)

+0

听起来不错。我试着用'(setq desktop-globals-to-save(append'buffer-ring-torus))'和'desktop-save:错误的类型参数:sequencep,buffer-ring-torus'。所以我尝试了'(setq desktop-globals-to-save(append'(buffer-ring-torus))'并且得到了桌面内部v2s:Lisp嵌套超过了'max-lisp-eval-depth''。我做错了什么? – User1 2010-11-20 00:11:41

+0

如果你是一个相当新手的Emacs用户,你可能想使用'Mx自定义变量RET桌面-blobals-to-save RET',但是如果你坚持在Lisp中这样做,尝试像'(需要'cl)(pushnew'buffer-ring-torus desktop-globals-to-save)' – 2010-11-20 00:15:28

+0

听起来像你的麻烦与书签或书签+无关。在添加桌面之前,尝试单独解决你的桌面问题。书签的混合。是的,Customize是你的朋友,即使UI有很多不足之处。 – Drew 2011-11-02 16:09:08