Emacs разбиты на 3 окна

Быстрый вопрос: как указать количество символов в разделенном окне? C-x-3 Равномерно разбивает мое окно на два окна, но последующий раскол разделяет одно из окон пополам. Я бы хотел 3 окна с равным размером. В документации говорится, что я должен указать количество символов для левого буфера в качестве параметра, но я не могу заставить это работать. Любые идеи для синтаксиса?

Спасибо.

Ответ 1

Чтобы указать количество символов в окне разделения, выполните:

C-u число символов C-x 3

Ответ 2

C-x 3, за которым следует C-x +, чтобы одинаково размер всех окон.

Ответ 3

У меня есть следующее в .emacs:

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

это делает вызов emacs rebalance-windows (с которым по умолчанию привязан C-x +) после каждого изменения размера. Это не то, что я хочу все время, но я хочу это гораздо чаще, чем поведение по умолчанию.

Ответ 4

добавить .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)

Ответ 5

(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 wenshan-split-window-vertical" для достижения того, что вы хотите.

Ответ 6

Если вы используете зло, C-x 3, а затем C-w =

Ответ 7

Мне понравилось решение @quodlibetor, но оно не работало так, как написано. Это работает для меня (Emacs 24,5)

(advice-add 'split-window-right :after #'balance-windows)