2009-09-21 54 views
5

我有幾個使用彈出式緩衝功能的腳本。它用於水平分割窗口,但現在在Emacs 23中它垂直分割窗口。我已經挖掘了一些elisp代碼,但它並沒有跳出來對我 - 我怎麼能改變Emacs 23的這種行爲再次水平分割?在Emacs 23中彈出緩衝區的水平分割?

+1

與此問題的答案相同: http://stackoverflow.com/questions/966191/how-can-i-get-the-compilation-buffer-on-the-bottom-rather-than-on- the-right-in-em/ – scottfrazer 2009-09-21 17:54:33

+0

所以如此。我在SO自動發現問題/答案時遇到了麻煩。我想我首先從你聯繫的答案中瞭解到了這一點。 +1的答案。 – 2009-09-21 18:59:53

回答

14

它在上市的消息爲Emacs(C-h N):

*** display-buffer' tries to be smarter when splitting windows. The new option 拆分窗口優先功能」讓 可以指定自己的功能,彈出 了新的窗口。其默認值爲 split-window-sensibly' can split a window either vertically or horizontally, whichever seems more suitable in the current configuration. You can tune the behavior of split-window-sensibly by customizing 分割高度閾值'和新的 選項`分割寬度閾值'。兩個 選項現在取值爲零,禁止向一個方向分割。 將分割寬度閾值設置爲零 禁止水平分割,並在此 方面獲得Emacs 22的行爲。在任何情況下,顯示緩衝區 現在可以垂直分割最大窗口 ,即使它不是與包含幀一樣寬的 。

我想你想要的是:

(setq split-width-threshold nil) 

(但我認爲你正在使用的垂直與水平分割是什麼Emacs的術語是相反的(這是反直覺我也))

+0

謝謝,我沒有想到在那裏檢查。對於術語來說,你是絕對正確的,關於我反向使用它(儘管我知道Emacs對它的使用),並且這是違反直覺的! – Brad 2009-09-21 18:14:59

+0

這個答案最有用的部分是'你做錯了'什麼是垂直與水平。 – tacaswell 2014-08-16 02:27:15