Save your vim session while working on a lot of files opened in different tabs or screens by using
:mksession saved_session.vimin one of the vim windows. Note that it does not have to have “.vim” extension.
After that you can do pretty much anything with your computer (close all windows, reboot, etc.) as long as you do not deleted the file saved above. You can restore the session while you are in vim by using:
:source saved_session.vimor if you want to start vim with the saved session, use this
$ vim -S saved_session.vimin the command line.
Application: (Directly copied from here)
The obvious way to use sessions is when working on different projects. Suppose you store you session files in the directory "~/.vim". You are currently working on the "secret" project and have to switch to the "boring" project: :wall :mksession! ~/.vim/secret.vim :source ~/.vim/boring.vim This first uses ":wall" to write all modified files. Then the current session is saved, using ":mksession!". This overwrites the previous session. The next time you load the secret session you can continue where you were at this point. And finally you load the new "boring" session.