분할 창 축소


11

다음과 같은 분할 창이 주어집니다.

|------|-------|
|1     |2      |
|      |       |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

분할 창을 축소하는 두 가지 옵션이 있습니다.

  • 다른 윈도우 삭제 (Ctrl-x 1)
  • 창 삭제 (Ctrl-x 0)

질문 : 붕괴 방식을 통제 할 수있는 방법이 있습니까?


예를 들어 다음과 같이 어떻게 접을 수 있습니까?

|------|-------|
|1             |
|              |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

, 이:

|------|-------|
|2             |
|              |
|------|-------|
|3     |4      |
|      |       |
|------|-------|

, 이:

|------|-------|
|1     |2      |
|      |       |
|      |-------|
|      |4      |
|      |       |
|------|-------|

, 아니면 이거:

|------|-------|
|3     |2      |
|      |       |
|      |-------|
|      |4      |
|      |       |
|------|-------|

?

답변:


13

에이스 창을 사용해보십시오 .

다음과 같이 묶으면 :

(global-set-key "M-p" 'ace-window)

를 눌러 창 2로 전환 할 수 있습니다 M-p 2. 또한을 눌러 창 2를 삭제할 수 있습니다 M-p x2. 첫 번째 예제로 이동합니다. 다른 예제는 마지막 키를 변경하는 것입니다.

다른 수정자가 있습니다.

  • x삭제에 사용
  • m교환에 사용
  • v수직 분할에 사용
  • b수평 분할에 사용
  • i선택한 창 이외의 다른 창을 삭제하는 데 사용
  • o현재 창 이외의 다른 창을 삭제하는 데 사용
  • n마지막 창으로 전환하는 데 사용

마지막 두 수정자는 실제로 더 이상의 입력이 필요하지 않지만 다른 두 수정자는 항상 창을 입력하라는 메시지를 표시합니다.

수정자는를 통해 사용자 정의 할 수 aw-dispatch-alist있습니다. 창 키 (기본적으로 1/2/3/4 ...)는를 통해 사용자 지정할 수 있습니다 aw-keys.

사용중인 설정은 다음과 같습니다.

(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l))

9

이 함수 delete-window에는 선택적 인수 WINDOW가 있습니다.

이 함수 window-in-direction에는 DIRECTION의 필수 인수와 WINDOW IGNORE SIGN WRAP MIN에 대한 선택적 인수가 있습니다. doc-string을 읽어서 이러한 인수에 대해 더 배우려면 사용자가 입력 할 수 있습니다 M-x describe-function RET window-in-direction RET.

예를 들어, 다음 네 가지 기능을 사용하여 창을 삭제하는 방향을 제어 할 수 있습니다. 사용자는 키보드 단축키를 지정할 수 있습니다.

(defun delete-window-above ()
"Delete window in direction 'above."
(interactive)
  (delete-window (window-in-direction 'above)))

(defun delete-window-below ()
"Delete window in direction 'below."
(interactive)
  (delete-window (window-in-direction 'below)))

(defun delete-window-left ()
"Delete window in direction 'left."
(interactive)
  (delete-window (window-in-direction 'left)))

(defun delete-window-right ()
"Delete window in direction 'right."
(interactive)
  (delete-window (window-in-direction 'right)))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.