これを行うための組み込みの方法は、レジスタを使用することです。
たとえばC-xrwa、現在のウィンドウ構成を保存して登録するために使用します。
次に、組み込みのバインディングC-x1を使用して実行できますdelete-other-windows
単一のファイルを見終わったら、を使用C-xrjaして、レジスタaに保存されているウィンドウ構成に戻ります。
要するに:
C-xrwa (設定をレジスタに保存)
C-x1 (他のウィンドウを削除する)
C-xrja (保存されたウィンドウ設定を再適用)
レジスタは扱いにくいと思いますが、カスタムウィンドウ構成スタックを使用して構成を管理します。
現在の構成をスタックにプッシュする2つのバインディングがあり、トップ構成をポップして適用します。
あなたのシーンでは、プッシュバインドを実行し、次にCx 1を実行し、次にポップバインドを実行します。
コードは次のとおりです。
(defvar winstack-stack '()
"A Stack holding window configurations.
Use `winstack-push' and
`winstack-pop' to modify it.")
(defun winstack-push()
"Push the current window configuration onto `winstack-stack'."
(interactive)
(if (and (window-configuration-p (first winstack-stack))
(compare-window-configurations (first winstack-stack) (current-window-configuration)))
(message "Current config already pushed")
(progn (push (current-window-configuration) winstack-stack)
(message (concat "pushed " (number-to-string
(length (window-list (selected-frame)))) " frame config")))))
(defun winstack-pop()
"Pop the last window configuration off `winstack-stack' and apply it."
(interactive)
(if (first winstack-stack)
(progn (set-window-configuration (pop winstack-stack))
(message "popped"))
(message "End of window stack")))
その後、バインドできるwinstack-push
ようなものにC-cC-u、そしてwinstack-pop
ために C-cC-o簡単に周りにジャンプします。