我想保存一个打开文件列表(:ls),退出gvim,启动gvim,重新打开所有以前打开的文件。我不想使用:mksession因为它无法正常工作(可能是由于我正在使用的一些插件)
答案 0 :(得分:23)
可能是错误/冲突:mksession只有你有以下部分:mksession启用你不关心。
试试这个:
:set sessionoptions=buffers
:mksession
答案 1 :(得分:3)
另一个答案表明会话管理器插件很棒。但我有一个非常轻量级的选择,我将留在这里为后代。 (因为这个问题很活跃已经有一段时间了。)
下面的代码会在关机时自动保存当前会话,并设置一个键命令来手动重新加载它(当我确实想要一个新文件的新会话时,这很方便)。如果确实想要在vim再次启动时无条件地恢复上一个会话,请取消注释' VimEnter'线。
作为奖励,这还可以通过按键手动保存和恢复单独的会话。
describe
用户可以自己定义会话中的会话选项'选项,如上所述:" 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>
答案 2 :(得分:1)
有一些插件可以让vim的会话管理更进一步。
SessionMan和Autosess提供了您可能喜欢的一些命令和自动保存功能。
另一个是:http://jaredforsyth.com/blog/2010/apr/9/vim-crash-recovery/
非常简短,可能是vimrc类的东西。
答案 3 :(得分:0)
我发现在.vimrc中设置viminfo也可以保存最后一个已知的缓冲区列表。 这就是我所拥有的。
“设置viminfo以在退出时保存信息
“帮助usr_21.txt
“'5:最多可以记住10个以前的文件
“” 50:每个寄存器最多可保存100行
“:20:最多可以记住20行命令行历史记录
“%:保存并恢复缓冲区列表
set viminfo ='5,f1,\“ 50,:20,%,n〜/ .vim / viminfo