2010-04-05 67 views
60

快速問題:如何指定拆分窗口中的字符數? C-x-3將我的窗口均勻地分成兩個窗口,但隨後的分割會將一個窗口分成一半。我想要3個相同大小的窗戶。該文件說,我應該能夠指定左緩衝區的字符數作爲參數,但我似乎無法讓它工作。任何語法的想法?emacs分成3個連窗口

謝謝。

回答

17

要指定在分割窗口中的字符數,執行:

C-ù數的字符 C-X 3

+4

鮑萊爾!!!!!!!!! – Dirk 2010-04-05 07:56:00

+0

不幸的是,在全屏模式下無法使用Cocoa Emacs。 – 2013-07-30 19:12:51

+0

窗口寬度太小(分割後) – Mittenchops 2013-12-07 07:45:42

207

C-x 3隨後C-x +到同樣大小的所有窗口的兩倍。

+7

有沒有辦法讓Emacs立即用一個命令創建三個同等大小的窗口,而不是執行'C-x 3 C-x 3 C-x +'? – SabreWolfy 2011-05-09 09:34:56

+2

@sabrewolfy製作了一個宏 – ragerdl 2017-11-09 18:22:24

14

我在.emacs如下:

(defadvice split-window-horizontally (after rebalance-windows activate) 
    (balance-windows)) 
(ad-activate 'split-window-horizontally) 

這使得emacs的調用rebalance-windows(這是什麼C-x +默認綁定到)後,每調整。這不是我一直想要的,但是我比其默認行爲更需要它。

+0

感謝這一點,但我不確定你需要調用'(ad-activate ...)',因爲你在一個單獨的表單中包含了'activate'。 – wpcarro 2017-10-10 15:12:45

9

加入.emacs。我映射到C-x 4,但任何人都有更好的主意?

(defun split-3-windows-horizontally-evenly() 
    (interactive) 
    (command-execute 'split-window-horizontally) 
    (command-execute 'split-window-horizontally) 
    (command-execute 'balance-windows) 
) 

(global-set-key (kbd "C-x 4") 'split-3-windows-horizontally-evenly) 
+4

我不會把它分配給'C-x 4'。這是一堆其他命令的默認前綴。見'C-x 4 C-h'(顯然沒有設置你的綁定)。 – phils 2011-12-13 23:20:53

+2

@phils哇,畢竟這些年來,我從來不知道如何得到一個具有一些常見前綴的命令列表...我愛emacs。 – mgalgs 2012-08-16 22:55:16

4
(defun wenshan-split-window-vertical (&optional wenshan-number) 
"Split the current window into `wenshan-number' windows" 
    (interactive "P") 
    (setq wenshan-number (if wenshan-number 
          (prefix-numeric-value wenshan-number) 
         2)) 
    (while (> wenshan-number 1) 
    (split-window-right) 
    (setq wenshan-number (- wenshan-number 1))) 
    (balance-windows)) 

此功能可以用來分割當前窗口到N個窗口,你可以輸入「C-U 3 M-X文山分割窗口垂直」來實現你想要什麼。

2

如果使用C-x 3然後C-w =