Вбудований спосіб зробити це за допомогою регістрів.
Наприклад, використовуйте C-xrwaдля збереження поточної конфігурації вікна для реєстрації.
Тоді ви можете використовувати вбудовану прив'язку C-x1для запускуdelete-other-windows
після того, як ви переглянете один файл, використовуйте C-xrjaдля повернення до збереженої конфігурації вікна в регістрі a.
Коротко:
C-xrwa (збереження конфігурації в реєстр)
C-x1 (видалити інші вікна)
C-xrja (повторно застосувати збережену конфігурацію вікна)
Я вважаю, що регістри є непростими, хоча я використовую власні стеки конфігурацій вікна для управління своїми конфігураціями.
У мене є два прив'язки, які висувають поточну конфігурацію на стек, а також спливають і застосовують верхню конфігурацію.
Отже, у вашому сценарії я би виконував прив'язку моїх натискань, потім 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легко стрибати.