Emacs:横向分割成多个同样大小的窗口

Emacs:横向分割成多个同样大小的窗口

默认情况下,在 Emacs 中按 C-x 3 ,会调用 split-window-right 这个函数,把当前窗
口分割成左右两个同样大小的窗口。

但有时候我想一次性地分出多个窗口,于是写了这个小函数:

(defun wenshan-split-window-vertical (&optional wenshan-number)
  "Split the current window into `wenshan-number' windows and
balance all 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))

其实就是多次调用 split-window-right 分割窗口,最后调用 balance-windows 调整
窗口大小。

eval 一下之后,就可以输入 M-x wenshan-split-window-vertical (由于补全功能的
存在,实际不需要打这么多字)来调用之了。没有参数的情况下,默认分成两个窗口,如果
需要分成多个的话,比如说5个,可以输入 M-5 M-x wenshan-split-window-vertical
实现。

Happy Hacking!


Date: 2013-05-09

Author: 任文山 (Ren Wenshan)

Org version 7.9.3d with Emacs version 24

Validate XHTML 1.0

Leave a Reply