2012-01-12 53 views
4

我使用aquamacs 90%的時間編輯R文件與ESS(Emacs講話統計)。在這種模式下,我發現有一個分割窗口是必不可少的,這樣我就可以同時查看源代碼和R緩衝區(終端窗口)。因此,每次啓動aquamacs時,都需要執行以下步驟:拆分窗口,選擇正確的窗口,將緩衝區切換到*R*,返回到文件。我如何在會話中保存此設置?默認分割窗口布局

謝謝。

+1

使用'C-h k'併發出鍵綁定來查看底層命令,然後將它們添加到'.emacs'文件中。它不應該太麻煩... – aL3xa 2012-01-13 03:03:27

+0

不錯,謝謝。我添加了'(split-window-side-side)',它獨立工作,但不知何故'(switch-to-buffer「* R *」)具有副作用,可以將佈局恢復爲一個小)窗口。 – baptiste 2012-01-13 03:31:12

回答

4

存在C-C C-z(ess-switch-to-end-of-ESS),它分割並切換到ess下級緩衝區的末尾。我一直在使用它。

+0

humm,試了一下,什麼都沒發生。 – baptiste 2012-02-22 07:43:26

+0

@baptiste你是什麼意思?如果你的R會話已經啓動並且緩衝區被隱藏,它應該切換到它的結尾。它不啓動proc。添加爲功能可能是個好主意。 – VitoshKa 2012-02-23 13:55:51

+0

好吧,它現在有效。這將是很好,如果它也開始R. – baptiste 2012-02-23 19:09:43

2

有很多包做這種事情。看起來layout-restore可能是最合適的,但您可能需要查看Category Windows頁面的「切換窗口配置」標題下的Emacs wiki中的所有條目。

5

試試這個:

(defun open-r-project() 
    (interactive) 
    (delete-other-windows) 
    (split-window-horizontally) 
    (R) 
    (ess-change-directory "~/projects/") 
    (next-multiframe-window) 
    (find-file "~/projects/") 
    (previous-multiframe-window) 
) 

(global-set-key (kbd "C-c r") 'open-r-project) 

但是請注意,這是我的第一個LISP功能。我不知道如何使項目目錄參數工作。明天再試。哦,並注意我正在使用ESS的SVN版本。

+0

偉大的功能,謝謝!你能想出如何更新函數來傳遞參數給它嗎? – daroczig 2012-04-15 14:00:30

+0

@daroczig你的意思是通過minibuffer自動傳遞文件夾路徑?嗯,嗯......這是在我的TODO列表中。 =) – aL3xa 2012-04-15 18:01:29

+0

絕對!太好了,如果你有時間實施這個(或者有一些想法如何去做),請回報。 – daroczig 2012-04-15 19:11:18