2010-11-18 65 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