Wbudowane do tego celu są rejestry.
Na przykład użyj, C-xrwaaby zapisać bieżącą konfigurację okna, aby zarejestrować.
Następnie możesz użyć wbudowanego wiązania C-x1do uruchomieniadelete-other-windows
po zakończeniu przeglądania pojedynczego pliku użyj przycisku, C-xrjaaby wrócić do konfiguracji zapisanego okna w rejestrze a.
W skrócie:
C-xrwa (zapisz config w rejestrze)
C-x1 (usuń inne okna)
C-xrja (ponownie zastosuj zapisaną konfigurację okna)
Uważam jednak, że rejestry są nieporęczne, do zarządzania moimi konfiguracjami używam niestandardowego stosu konfiguracji okien.
Mam dwa wiązania, które wypychają bieżącą konfigurację na stos, a następnie otwierają i stosują najwyższą konfigurację.
Więc w twoim sceneario wykonałbym moje wiązanie push, następnie Cx 1, a następnie wykonałem moje pop pop.
Oto kod:
(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")))
Następnie można powiązać winstack-push
do czegoś podobnego C-cC-u, i winstack-pop
aby C-cC-ołatwo skakać.