Cách đơn giản nhất để làm điều này có lẽ là với các tệp phiên, đó là các tập lệnh vim (vim có thể tự động tạo cho bạn) sẽ khôi phục môi trường chỉnh sửa trước đó.
Bạn có thể tạo một tệp phiên mới bằng cách sử dụng :mksession <filename>
. Bạn có thể khôi phục phiên đó bằng cách thực thi tập lệnh phiên được tạo :source <filename>
.
Do đó, bạn có thể lưu phiên hiện tại trước khi tối đa hóa cửa sổ và khôi phục phiên khi bạn muốn "tối đa hóa" cửa sổ.
Sử dụng điều này, bạn có thể ánh xạ lại các lệnh cửa sổ thích hợp để lưu phiên trước đó và thêm ánh xạ mới cho một để "hoàn tác" lệnh cửa sổ cuối cùng bằng cách khôi phục phiên. Ví dụ:
nnoremap <C-w>o :mksession! ~/session.vim<CR>:wincmd o<CR>
và v.v. cho tất cả các lệnh cửa sổ mà bạn muốn hỗ trợ (xem :help CTRL-W
, có rất nhiều). Việc !
ngăn chặn các lỗi liên quan đến ghi đè tệp phiên hiện có.
nnoremap <C-w>u :source ~/session.vim<CR>
để "hoàn tác" lệnh cửa sổ cuối cùng.
Nếu bạn muốn đặc biệt mạnh mẽ, bạn có thể mở rộng điều này thông qua các chức năng để lưu các tệp phiên trong một ngăn xếp và bật chúng ra để có được một chuỗi hoàn tác đầy đủ, mặc dù tại thời điểm đó có thể hiệu quả hơn để viết một loạt các chức năng để theo dõi lịch sử lệnh cửa sổ trong bộ nhớ ... tại thời điểm đó bạn có khả năng sao chép các plugin đã thực hiện loại điều này.