Il modo integrato per farlo è con i registri.
Ad esempio, utilizzare C-xrwaper salvare la configurazione della finestra corrente per registrare a.
Quindi è possibile utilizzare il binding incorporato C-x1per l'esecuzionedelete-other-windows
dopo aver esaminato il singolo file, utilizzare C-xrjaper tornare alla configurazione della finestra salvata nel registro a.
In breve:
C-xrwa (salva la configurazione nel registro)
C-x1 (elimina altre finestre)
C-xrja (riapplica la configurazione della finestra salvata)
Trovo che i registri siano ingombranti, ma uso uno stack di configurazione della finestra personalizzato per gestire le mie configurazioni.
Ho due associazioni che spingono la configurazione corrente nello stack e pop e applicano la configurazione superiore.
Quindi, nel tuo scenario, eseguivo il mio push binding, quindi Cx 1, quindi eseguivo il mio pop binding.
Ecco il codice:
(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")))
È quindi possibile associare winstack-push
a qualcosa come C-cC-u, e winstack-pop
di C-cC-osaltare facilmente intorno.