A maneira integrada de fazer isso é com os registradores.
Por exemplo, use C-xrwapara salvar a configuração atual da janela para registrar a.
Em seguida, você pode usar a ligação incorporada C-x1para executardelete-other-windows
depois de terminar de examinar o arquivo único, use C-xrjapara retornar à configuração da janela salva no registro a.
Em resumo:
C-xrwa (salve a configuração no registro)
C-x1 (excluir outras janelas)
C-xrja (reaplicar a configuração da janela salva)
Porém, acho que os registros são pesados, eu uso uma pilha de configuração de janela personalizada para gerenciar minhas configurações.
Eu tenho duas ligações que colocam a configuração atual na pilha e pop e aplicam a configuração superior.
Portanto, no seu cenário, eu executaria minha ligação push, depois Cx 1, e depois executaria minha ligação pop.
Aqui está o código:
(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")))
Então você pode ligar winstack-push
para algo como C-cC-u, e winstack-pop
para C-cC-oa facilmente saltar ao redor.