В другом ответе предлагаются плагины менеджера сессий, которые великолепны.Но у меня есть очень легкая альтернатива, которую я оставлю здесь для потомков.(Поскольку этот вопрос уже был активен довольно давно.)
Приведенный ниже код автоматически сохраняет текущий сеанс при завершении работы и задает ключевую команду для его перезагрузки вручную (удобно, когда я действительно хочуновый сеанс с новыми файлами).Если вы действительно хотите безоговорочно восстановить предыдущий сеанс при каждом запуске vim, раскомментируйте строку 'VimEnter'.
В качестве бонуса это также позволяет вручную сохранять и восстанавливать отдельныйсеанс по желанию с нажатием клавиши.
Где-то в ~ / .vim / vimrc
" Automatically save the current session whenever vim is closed
autocmd VimLeave * mksession! ~/.vim/shutdown_session.vim
" <F7> restores that 'shutdown session'
noremap <F7> :source ~/.vim/shutdown_session.vim<CR>
" If you really want to, this next line should restore the shutdown session
" automatically, whenever you start vim. (Commented out for now, in case
" somebody just copy/pastes this whole block)
"
" autocmd VimEnter source ~/.vim/shutdown_session.vim<CR>
" manually save a session with <F5>
noremap <F5> :mksession! ~/.vim/manual_session.vim<cr>
" recall the manually saved session with <F6>
noremap <F6> :source ~/.vim/manual_session.vim<cr>
Пользователь может определить для себя, что находится в сеансе с опцией 'sessionoptions', упомянутой выше: help sessionoptions