빠른 질문 : 분할 창에서 문자 수를 어떻게 지정합니까? Cx-3 내 창을 두 개의 창으로 균등하게 분할하지만 이후 분할은 창 중 하나를 반으로 분할합니다. 같은 크기의 창 3 개를 원합니다. 문서에는 왼쪽 버퍼의 문자 수를 매개 변수로 지정할 수 있어야한다고 나와 있지만 작동하지 않는 것 같습니다. 구문에 대한 아이디어가 있습니까?
감사.
답변:
분할 창에서 문자 수를 지정하려면 다음을 수행하십시오.
Cu 문자 수 Cx 3
C-x +간격을 균등하게 만들기 위해
C-x 3두 번 뒤에 C-x +모든 창의 크기를 동일하게 조정합니다.
C-x 3 C-x 3 C-x +있습니까?
C-x 2 C-x +수평 분할 (수직 모니터에 적합)
내 다음이 있습니다 .emacs.
(defadvice split-window-horizontally (after rebalance-windows activate)
(balance-windows))
(ad-activate 'split-window-horizontally)
이렇게하면 크기를 조정할 때마다 emacs 호출 rebalance-windows( C-x +기본적으로 바인딩되어 있음)이 수행됩니다. 내가 항상 원하는 것은 아니지만 기본 동작보다 훨씬 더 자주 원합니다.
(ad-activate ...)포함 하셨기 때문에 전화가 필요한지 잘 모르겠습니다 activate.
에 추가 .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)
C-x 4입니다. 다른 명령 힙의 기본 접두사입니다. C-x 4 C-h(분명히 바인딩을 설정하지 않고) 참조하십시오 .
(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"을 입력하여 원하는 것을 얻을 수 있습니다.
사용하는 답변의 많은 문제점 중 하나 balance-windows여기에 그들이 인해 분할에 창을 허용하지 않을 수 있다는 것이다 window-min-width또는 split-width-threshold심지어 모든 재조정 후 잘 될 것이라고합니다. 예를 들어 100 자 미만의 창을 원하지는 않지만 한 번 화면을 분할하면 160 자 너비의 창 두 개가 생기고 창 중 하나의 크기를 조정하지 않고는 다시 분할 할 수 없습니다. 분할이 좋은지 여부를 결정하는 방법을 아직 파악하지 못 했으므로 분할하는 동안 해당 값을 동적으로 0에 바인딩하고 window-configuration-to-register상황이 진행될 때 이전 레이아웃을 복구 할 수 있도록 사전에 수행 할 수 있습니다. 잘못된.