Cách xây dựng để làm điều này là với các thanh ghi.
Ví dụ sử dụng C-xrwađể lưu cấu hình cửa sổ hiện tại để đăng ký a.
Sau đó, bạn có thể sử dụng ràng buộc tích hợp C-x1để chạydelete-other-windows
sau khi bạn xem xong tệp đơn, sử dụng C-xrjađể bật lại cấu hình cửa sổ đã lưu trong đăng ký a.
Nói ngắn gọn:
C-xrwa (lưu cấu hình vào đăng ký)
C-x1 (xóa các cửa sổ khác)
C-xrja (áp dụng lại cấu hình cửa sổ đã lưu)
Mặc dù vậy, tôi thấy các thanh ghi khó sử dụng, tôi sử dụng ngăn xếp cấu hình cửa sổ tùy chỉnh để quản lý các cấu hình của mình.
Tôi có hai ràng buộc đẩy cấu hình hiện tại lên ngăn xếp, và bật và áp dụng cấu hình hàng đầu.
Vì vậy, trong phối cảnh của bạn, tôi sẽ thực hiện liên kết đẩy của mình, sau đó là Cx 1, sau đó thực hiện liên kết bật của tôi.
Đây là mã:
(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")))
Sau đó bạn có thể liên kết winstack-push
đến một cái gì đó giống như C-cC-u, và winstack-pop
để C-cC-odễ dàng nhảy xung quanh.