[emacs] emacs는 3 개의 짝수 창으로 분할됩니다.

빠른 질문 : 분할 창에서 문자 수를 어떻게 지정합니까? Cx-3 내 창을 두 개의 창으로 균등하게 분할하지만 이후 분할은 창 중 하나를 반으로 분할합니다. 같은 크기의 창 3 개를 원합니다. 문서에는 왼쪽 버퍼의 문자 수를 매개 변수로 지정할 수 있어야한다고 나와 있지만 작동하지 않는 것 같습니다. 구문에 대한 아이디어가 있습니까?

감사.



답변

분할 창에서 문자 수를 지정하려면 다음을 수행하십시오.

Cu 문자 수 Cx 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. 나는 Cx 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 개의 창으로 분할하는 데 사용할 수 있습니다. “Cu 3 Mx wenshan-split-window-vertical”을 입력하여 원하는 것을 얻을 수 있습니다.


답변

당신이 사용하는 경우 악의의 할 일
C-x 3다음과C-w =


답변

@quodlibetor의 솔루션이 마음에 들었지만 작성된대로 작동하지 않았습니다. 이것은 나를 위해 작동합니다 (emacs 24.5)

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