Vim

会话

如果你保存了当前的「视图」(请参阅 :h :mkview),那么当前窗口、配置和按键映射都会被保存下来(请参阅 :h :loadview)。

「会话」就是存储所有窗口的相关设置,以及全局设置。简单来说,就是给当前的 VIM 运行实例拍个照,然后把相关信息存储到会话文件中。存储之后的改动就不会在会话文件中显示,你只需要在改动后更新一下会话文件就可以了。你可以把当前工作的「项目」存储起来,然后可以在不同的「项目」之间切换。

现在就来试试吧。打开几个窗口和标签,然后执行 :mksession Foo.vim。如果你没有指定文件名,那就会默认保存为 Session.vim。这个文件会保存在当前的目录下,你可以通过 :pwd 来显示当前路径。重启 VIM 之后,你只需要执行 :source Foo.vim,就可以恢复刚才的会话了。所有的缓冲区、窗口布局、按键映射以及工作路径都会恢复到保存时的状态。

其实 VIM 的会话文件就只是 VIM 命令的集合。你可以通过命令 :vs Foo.vim 来看看会话文件中究竟有什么。你可以决定 VIM 会话中究竟要保存哪些配置,只需要设置一下 'sessionoptions' 就可以了。为了方便开发,VIM 把最后一次调用或写入的会话赋值给了一个内部变量 v:this_session

请参阅以下文档来获取更多帮助:

:h Session
:h 'sessionoptions'
:h v:this_session