Я хочу сохранить список открытых файлов (: ls), quit gvim, start gvim, снова открыть все ранее открытые файлы. Я не хочу использовать: mksession, потому что он работает неправильно (возможно, из-за некоторых подключаемых модулей)
Vim: сохранить список открытых файлов и позже открыть все файлы
Ответ 1
Возможно, ошибка/конфликт с: mksession - только если у вас есть части: mksession, которые вам не нужны.
Попробуйте следующее:
:set sessionoptions=buffers
:mksession
Ответ 2
Еще один ответ предлагает плагины диспетчера сеансов, которые великолепны. Но у меня очень легкая альтернатива, что я уйду отсюда для потомков. (Поскольку прошло довольно много времени, так как этот вопрос был активным.)
Приведенный ниже код автоматически сохраняет текущий сеанс при завершении работы и устанавливает ключевую команду для перезагрузки вручную (удобно, когда мне действительно нужен новый сеанс с новыми файлами). Если вы действительно хотите безоговорочно восстановить предыдущий сеанс при каждом запуске 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
Ответ 3
Есть несколько плагинов, которые немного улучшают управление сеансом vim.
SessionMan и Autosess предоставляют некоторые команды и автоматическое сохранение функции, которые могут вам понравиться.
Другим является следующее: http://jaredforsyth.com/blog/2010/apr/9/vim-crash-recovery/
Очень короткая, вероятно, вещь vimrc.