vim: сохранить список открытых файлов, а затем открыть все файлы - PullRequest
22 голосов
/ 25 мая 2010

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

Ответы [ 3 ]

23 голосов
/ 25 мая 2010

Возможно, ошибка / конфликт с: mksession возможна только в том случае, если у вас включены части: mksession, которые вас не интересуют.

Попробуйте это:

:set sessionoptions=buffers
:mksession
3 голосов
/ 17 декабря 2015

В другом ответе предлагаются плагины менеджера сессий, которые великолепны.Но у меня есть очень легкая альтернатива, которую я оставлю здесь для потомков.(Поскольку этот вопрос уже был активен довольно давно.)

Приведенный ниже код автоматически сохраняет текущий сеанс при завершении работы и задает ключевую команду для его перезагрузки вручную (удобно, когда я действительно хочуновый сеанс с новыми файлами).Если вы действительно хотите безоговорочно восстановить предыдущий сеанс при каждом запуске 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

1 голос
/ 19 февраля 2013

Есть пара плагинов, которые продвигают управление сессиями vim немного дальше.

SessionMan и Autosess предоставляют некоторые команды и функции автоматического сохранения, которые могут вам понравиться.

Еще одно следующее: http://jaredforsyth.com/blog/2010/apr/9/vim-crash-recovery/

Очень коротко, вероятно, что-то вроде vimrc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...