Uma possibilidade seria executar :mksession periodicamente. O Vim não suporta timers tanto quanto eu sei, mas você pode associar :mksession a um evento :autocmd tal como BufNewFile .
Um possível evento a ser usado nesses casos é VimLeavePre , por exemplo:
autocmd VimLeavePre * mksession! .vim.sess