obsession.vim cheatsheet ======================== [obsession.vim](https://github.com/tpope/vim-obsession) is simple, no-hassle Vim sessions from Tim Pope. It's a small plugin that just provides `:Obsession`, a better replacement for [the standard `:mksession` command](https://jvns.ca/blog/2017/09/10/vim-sessions/). * Adds the `:Obsession` command: * `:Obsession` with no argument creates a `Session.vim` file in the current directory and begins session tracking using that file. `:Obsession` while a session is already being tracked pauses session tracking and `:Obsession` while paused unpauses. * `:Obsession ` begins tracking a session with the given filename as the session file, or a `Session.vim` in the given directory. Will create the session file if it doesn't exist. Passing a directory doesn't seem to work -- it produced an error from Vim. * `:Obsession!` stops recording the current session and deletes the session file. * To load a previously created session you do `vim -S ` or `:source ` as usual, rather than using the `:Obsession` command. You only use `:Obsession` to create a new session or to delete a session. If the session file is one created by Obsession, then sourcing it will automatically turn on Obsession's automatic session updating. * Automatically updates the session file before exiting Vim, and also whenever the layout changes (in case Vim crashes) * If you try to make a new session on top of an existing session it just lets you do it, instead of complaining * Has an indicator for your status line, tab line or title string * [Airline](https://github.com/vim-airline/vim-airline) has a builtin extension for Obsession. Add `let g:airline#extensions#obsession#enabled = 1` to your vimrc to enable it. It just seems to put a `$` in the status line when Obsession is tracking a session, doesn't display the name of the session. * If you want the size of your GVim window to also be recorded as part of your session add `set sessionoptions+=resize` to your gvimrc.