vim:保存打开文件列表,然后打开所有文件

时间:2010-05-25 04:42:01

标签: vim

我想保存一个打开文件列表(:ls),退出gvim,启动gvim,重新打开所有以前打开的文件。我不想使用:mksession因为它无法正常工作(可能是由于我正在使用的一些插件)

4 个答案:

答案 0 :(得分:23)

可能是错误/冲突:mksession只有你有以下部分:mksession启用你不关心。

试试这个:

:set sessionoptions=buffers
:mksession

答案 1 :(得分:3)

另一个答案表明会话管理器插件很棒。但我有一个非常轻量级的选择,我将留在这里为后代。 (因为这个问题很活跃已经有一段时间了。)

下面的代码会在关机时自动保存当前会话,并设置一个键命令来手动重新加载它(当我确实想要一个新文件的新会话时,这很方便)。如果确实想要在vim再次启动时无条件地恢复上一个会话,请取消注释' VimEnter'线。

作为奖励,这还可以通过按键手动保存和恢复单独的会话。

〜/ .vim / vimrc

中的某个地方
describe

用户可以自己定义会话中的会话选项&#39;选项,如上所述:" 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的会话管理更进一步。

SessionManAutosess提供了您可能喜欢的一些命令和自动保存功能。

另一个是: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