文章出处:http://blog.sina.com.cn/s/blog_676630f501010rw5.html
""""""""""""""""""""""""""""""""""""""""""
au VimLeave * mks! Session.vim"关闭VIM时自动建立一个Sessio.vim文件,内部保存了编辑时具有的所有的状态!
"echo findfile("Session.vim"),它的回显是一个文件名,所以下面才这样写!
"% 表示本文件名,若有文件名就不加载了
" expand 用来展开专用字符串
if expand("%")==""
endif
"以上写法在GVIM启动时没有提示窗口
""""""""""""""""""""""""""""""""""""""""""""""
这个写法不能让VIM同时记住多个编辑过的文件,要让VIM具用文件历史记录功能,还得下载新的脚本....
如果加入这段脚本, 你会发现Session.vim遍地开花!
由于我VIMRC内有 lcd C:\
改进:
"""""""""""""""""""""""""""""""""""""""""
" ~ 表示HOME目录!没有话就......
"findfile()会展开~ ,普通字符串不会自动展开!
au VimLeave * mks! ~/Session.vim
if expand("%")==""
endif
""""""""""""""""""""""""""""""""""""""""""""""""""
也许这样不方便,在WINDOWS下通常没有HOME目录,但是TMP/TEMP总有吧,
也可以这样写:
""""""""""""""""""""""""""""""""""""""""""""""
au VimLeave * mks! $TMP/Session.vim
let g:AA=expand("$TMP/Session.vim")
if expand("%")==""
endif
"""""""""""""""""""""""""""""""""""""""""""""""
findfile("$TMP/Session.vim"))这个不能正确展开路径...why?
findfile(expand("$TMP/Session.vim"))这个好像可以正确展开路径.....
所以设置了一个全局变量AA,
(提示,在脚本中我用echo findfile("...")来测试返回结果
这是改后的:( 在win 7 下经测试可用)
"""""""""""""""""""""""""""""""""""""""""""""""""""
au VimLeave * mks! $TMP/Session.vim
if expand("%")==""
endif
""""""""""""""""""""""""""""""""""""""""""""""""""""