Vim tip 12: save and restore sessions
You can save and restore Vim sessions to continue working with the same setup before you had to quit Vim for reasons like switching off the machine, switching to another project, etc.
- :mksession proj.vim save the current Vim session with details like cursor position, file list, layout, etc
- you can customize things to be saved using the
sessionoptions
setting - for example, :set sessionoptions+=resize will save resized window information as well
- you can customize things to be saved using the
- :mksession! proj.vim overwrite existing session
- :source proj.vim restore Vim session from
proj.vim
filevim -S proj.vim
restore a session from the command line when launching Vim
See :h 21.4, :h views-sessions and :h 'sessionoptions' for more details.
See stackoverflow: How to save and restore multiple different sessions in Vim? for custom settings to automate the save and restore process and other tips and tricks. See also Learn-Vim: Views, Sessions, and Viminfo.
Video demo:
See also my Vim Reference Guide and curated list of resources for Vim.