au VimLeave * call VimLeave() au VimEnter * call VimEnter() let gathToSessions = $HOME . "\\vimfiles\\sessions\\" let g:FichierSession = "DerniereSession.vim" function! VimEnter() " gvim started with no files if has("browse") == 1 let gessionFileName = gathToSessions . g:FichierSession if gessionFileName != "" exe "source " . gessionFileName endif else " For non-gui vim exe "source " . gathToSessions . g:FichierSession endif endfunction function! VimLeave() exe "mksession! " . gathToSessions . g:FichierSession if exists("gessionFileName") == 1 if gessionFileName != "" exe "mksession! " . gessionFileName endif endif endfunction " A command for setting the session name com -nargs=1 SetSession :let gessionFileName = gathToSessions . <args> . ".vim" " .. and a command to unset it com -nargs=0 UnsetSession :let gessionFileName = ""