Forked for personal usage.

5 years after

Global Session Plugin

gsession.vim saves your session files into the same directory (~/.vim/session/ or ~\vimfiles\session\ on Windows by default). and auto-detect your session file to load session file when you are opening vim editor without arguments. you can also define your session dir by g:session_dir option.

gsession.vim also save your session file when you are leaving vim editor.

gsession.vim also support making a local session file <leader>sS, which is just like :mksession! command. but you can define your favorite session filename.

gsession.vim create different sessions for git branches. so session won't conflict between different branches.

Local session & Global session

  1. Local session (limited to specified dir and git branch name)
  2. Global session (system wide, absolute path)


$ make install


let g:session_dir            = '~/.vim/my-session'

if you prefer to put sessions in other place.

let g:local_session_filename = '.session.vim'

if you want a better session filename.

let g:autoload_session = 0
let g:autosave_session = 0

if you manage save/load yourself.

let g:gsession_non_default_mapping = 1

if you dont like the default mapping.


( NOTE: <leader> is backslash key \ by default )


create local session file (Session.vim by default , same as you type :mksession! )


create global session file (located in ~/.vim/session by default)


eliminate current session file (including local session file or global session file)


eliminate all session file (eliminate global session only).


make a named global session (completion supported)


load a named global session (completion supported)


make a named session in current path space (completion supported)


load a named session from current path space (completion supported)


Author: Cornelius
Mail:   [email protected]

Related Repositories



Vimana is an easy to use system for searching , installing, and downloading vim ...

Top Contributors

c9s bootleq datalogics-kam niun