我让一些文件在 gVim 中打开,并使我的机器处于休眠状态。
不幸的是,出现了一些错误,我丢失了 gVim 会话。
是否可以像现在的现代浏览器(如 Firefox)那样,在“崩溃”(不能以正常方式退出)后在我的 gVim 中显示“恢复上一次会话”对话框?
答案1
一种可能性是:mksession
定期运行。据我所知,Vim 不支持计时器,但你可以将其关联:mksession
到:autocmd
诸如 之类的事件BufNewFile
。
在这些情况下可能使用的事件是VimLeavePre
,例如:
autocmd VimLeavePre * mksession! .vim.sess
答案2
如果你想要另一个提示,或者一些更用户友好的东西,并在启动时询问你是否要加载会话,你可以尝试http://www.vim.org/scripts/script.php?script_id=3150。我用过,效果很好。你可以有多个会话,而且它非常用户友好。你可以 SaveSession、OpenSession、DeleteSession,文件存储在 .vim/sessions 中,因此如果你愿意,你仍然可以使用 mksession。