La forma integrada de hacer esto es con registros.
Por ejemplo, use C-xrwapara guardar la configuración de ventana actual para registrar a.
Luego puede usar el enlace incorporado C-x1para ejecutardelete-other-windows
una vez que haya terminado de mirar el archivo único, use C-xrjapara volver a la configuración de ventana guardada en el registro a.
En breve:
C-xrwa (guardar configuración en el registro)
C-x1 (eliminar otras ventanas)
C-xrja (vuelva a aplicar la configuración de la ventana guardada)
Sin embargo, creo que los registros son difíciles de manejar, uso una pila de configuración de ventana personalizada para administrar mis configuraciones.
Tengo dos enlaces que empujan la configuración actual a la pila, y hacen estallar y aplican la configuración superior.
Entonces, en su escenario, realizaría mi enlace push, luego Cx 1, luego realizaría mi enlace pop.
Aquí está el 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")))
A continuación, puede unirse winstack-push
a algo así C-cC-u, y winstack-pop
al C-cC-osaltar fácilmente alrededor.