2013-11-01 68 views
5

我喜歡用兩個打開的窗口在Emacs中開始我的工作。爲此,我的.emacs文件中有一個函數(水平分割窗口)。Emacs:僅在重新啓動後執行功能,而不是在評估緩衝區後執行功能

它在沒有問題的情況下工作,在每次評估.emacs緩衝區後將窗口拆分爲兩個並排的窗口。當然,每當我重新評估.emacs文件以測試一些新設置時,它也會分裂窗口。我如何告訴emacs在每次評估.emacs緩衝區後不要拆分窗口,而只是在重新啓動emacs之後才拆分窗口?

我在尋找類似:

(eval-only-after-restart 
    (split-window-horizontally)) 

是否有這樣的功能?或者另一種方式如何做到這一點?

+0

你說_horizo​​ntally_?水平分割馬馬虎虎,先垂直分割。 –

回答

5

像這樣:

+0

謝謝,先生!優雅的解決方 – Katarina

+0

什麼是'boundp'和'setq'? –

+0

他們是elisp形式。他們都記錄在案,所以你可以用光標鍵入' f' 找出他們做了什麼。 –

0

至於我,我有最大化Emacs窗口(M-x maximize)和垂直分割它M-F12宏。由於我手動激活它,所以我決定何時何時執行,何時不執行。我想說的是,在開始時的自動拆分可能是一個好主意,但也許不是最好的。

1

在添加新事物時,不要重新評估整個緩衝區,只要在所述sexp結尾處運行C-x C-e即可評估您添加的sexp。

3

另一種方式:

(add-hook 'emacs-startup-hook #'split-window-horizontally)