Подтвердить что ты не робот

Vim: сохранить список открытых файлов и позже открыть все файлы

Я хочу сохранить список открытых файлов (: ls), quit gvim, start gvim, снова открыть все ранее открытые файлы. Я не хочу использовать: mksession, потому что он работает неправильно (возможно, из-за некоторых подключаемых модулей)

4b9b3361

Ответ 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.