hot_exit is turned on, you get the following behaviour:
- If you quit Sublime, the state of every window is persisted into the session file and restored when you restart.
- If you close a window that's associated with a project, then the state of that project it persisted into it's own
sublime-workspace file and restored the next time you open that project/workspace
- If you close a window that's not associated with a project, you get prompted to save every file that has unsaved changes, one after the other, and at any point you can choose
Cancel to stop the window close from happening.
Here "persisted" means that the layout of the window, the list of open files, the content of open files (even if it's not saved), the cursor locations, the selection state, etc all get saved and put back to exactly what they were before on load; as if you never quit.
On the other hand, with
hot_exit turned off:
- If you quit Sublime, you get prompted to save every unsaved file in every window one after the other (as in #3 above), and at any point selecting
Cancel blocks the Quit from happening. Nothing is persisted, so when you restart Sublime you get a single window back (with no files open).
- If you close any window, whether it contains an explicit project or not, you get prompted to save any unsaved files. Picking
Cancel blocks the close. Nothing is persisted; if you close a project this way, when you re-open it the layout of the window is the same as it was before, but no files are open.
Here "not persisted" means that except for saving the layout of the window and other misc details (like whether the side bar was open or not), no file content is saved at all, which includes the fact that any files were open at all.
It's up to the individual user whether or not the
hot_exit scenario is desirable or not. Certainly with it turned on you can close windows or quit Sublime with impunity (more or less) without worrying about losing any data or any state, whereas with it turned off every time you start Sublime you get a complete fresh slate.