emacs разделен на 3 четных окна


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

спасибо.

6 68

6 ответов:

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

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

C-x 3 дважды следовал по C-x + для одинакового размера всех окон.

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

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

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

добавить в .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)
(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" для достижения того, что вы хотите.

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