하나의 창을 제외한 모든 창을 닫고 이전 창 설정으로 되 돌리는 빠른 방법?


12

모든 창을 닫고 현재 창을 닫고 프레임을 최대화하여 해당 창에서 버퍼의 모든 내용을 신속하게 확인한 다음 이전 창 설정으로 되돌릴 수 있습니다. 어떻게하면 되나요?


링크 가 도움 이 될 수 있습니다.
Nsukami _

3
"닫기"또는 "해당 한 프레임의 모든 내용보기"가 무슨 뜻인지 명확하지 않습니다. 관심있는 프레임을 높이거나 높이면 해당 프레임의 모든 내용을 볼 수 없습니까? 다른 프레임은 여전히 ​​존재하지만 최대화 된 프레임 뒤에 숨겨집니다. 필요에 따라이 작업을 수행하는 것은 쉽지 않습니다.
Drew

1
확실히하기 위해, 단어 프레임 의 Emacs 정의를 사용하고 있습니까? 창 관리자가 관리하는 최상위 항목?
zck

@zck 화면을 분할 한 개별 가시 버퍼를 의미합니다. 전체 화면을 채우도록 하나의 버퍼를 최대화 한 다음 실행 취소하여 원래 구성의 모든 버퍼를 볼 수 있습니다. 어휘가 틀렸다면 사과드립니다. 어휘를 찾아보고 사용하기 가장 좋은 단어를 선택했습니다.
Andrew

답변:


14

Emacs에 표시되는 텍스트의 다른 섹션은 입니다. 예를 들어을 사용하여 새 창을 만들 수 있습니다 C-x 2. 예,이 용어는 혼란 스럽습니다. 대부분의 GUI 시스템보다 이전 버전이므로 여전히 혼란 스러울 경우 이해할 수 있습니다.

그러나 우리가 창에 대해 이야기하고 있다는 것을 알게되면 원하는 변경을 할 수 있습니다. 해당 창을 제외한 모든 창을 제거하려면에 실행 C-x 1하고에 매핑하십시오 delete-other-windows.

그런 다음 이전에 보았던 것과 관련하여 winner-mode 라는 유용한 라이브러리 가 있습니다 . 창 구성 변경 사항을 실행 취소 및 재실행 할 수 있습니다.

로로 승자 모드를 활성화 M-x winner-mode한 다음을 호출 한 후을 C-x 1눌러 C-c left창 구성 변경을 취소하고 창을 원래 상태로 되돌릴 수 있습니다 .

승자 모드를 영구적으로 사용하려면 (winner-mode)init 파일을 넣으 십시오.


7

사용하는 winner-mode것이 편리하지만 실제로 하나의 창과 다중 창 구성간에 앞뒤로 뒤집기를 원한다면 이전에 사용한 적이 있습니다.

(defvar window-split-saved-config nil)

(defun window-split-toggle-one-window ()
  "Make the current window fill the frame.
If there is only one window try reverting to the most recently saved
window configuration."
  (interactive)
  (if (and window-split-saved-config (not (window-parent)))
      (set-window-configuration window-split-saved-config)
    (setq window-split-saved-config (current-window-configuration))
    (delete-other-windows)))

예를 들어 바인딩하고 C-x 1동일한 키를 사용하여 상태를 전환 할 수 있습니다.


1

웹에서 복사 한 다음을 사용합니다. 현재 창 구성을 떠나는 빠른 방법입니다. 완료 후 exit-recursive-edit다시 사용하십시오.

;; http://www.emacswiki.org/emacs/RecursiveEditPreservingWindowConfig    
;; inspired by Erik Naggum's `recursive-edit-with-single-window'

(defmacro recursive-edit-preserving-window-config (body)
  "*Return a command that enters a recursive edit after executing BODY.
 Upon exiting the recursive edit (with\\[exit-recursive-edit] (exit)
 or \\[abort-recursive-edit] (abort)), restore window configuration
 in current frame."
  `(lambda ()
     "See the documentation for `recursive-edit-preserving-window-config'."
     (interactive)
     (save-window-excursion
       ,body
       (recursive-edit))))

(global-set-key (kbd "C-c 0") (recursive-edit-preserving-window-config (delete-window)))
(global-set-key (kbd "C-c 1") (recursive-edit-preserving-window-config
                               (if (one-window-p 'ignore-minibuffer)
                                   (error "Current window is the only window in its frame")
                                 (delete-other-windows))))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.