您的位置:首页 > 其它

让VIM自动打开上次编辑过的文件

2013-11-25 20:36 459 查看
我自己写的vim脚本,把它加进你的VIMRC文件就行

要看完哦,不然有麻烦的...

""""""""""""""""""""""""""""""""""""""""""

au VimLeave * mks! Session.vim

"关闭VIM时自动建立一个Sessio.vim文件,内部保存了编辑时具有的所有的状态!

"echo findfile("Session.vim"),它的回显是一个文件名,所以下面才这样写!

"% 表示本文件名,若有文件名就不加载了

" expand 用来展开专用字符串

if expand("%")==""

if("Session.vim"==findfile("Session.vim"))

silent :source Session.vim "不直接source session.vim!否则有一个提示窗口

endif

endif

"以上写法在GVIM启动时没有提示窗口

""""""""""""""""""""""""""""""""""""""""""""""

这个写法不能让VIM同时记住多个编辑过的文件,要让VIM具用文件历史记录功能,还得下载新的脚本....

如果加入这段脚本,你会发现Session.vim遍地开花!

由于我VIMRC内有 lcd C:\
这项,所以我的Session.vim只自动保存在C:\下

改进:

"""""""""""""""""""""""""""""""""""""""""

" ~ 表示HOME目录!没有话就......

"findfile()会展开~ ,普通字符串不会自动展开!

au VimLeave * mks! ~/Session.vim

if expand("%")==""

if(expand("~/Session.vim")==findfile("~/Session.vim"))

silent :source ~/Session.vim

endif

endif

""""""""""""""""""""""""""""""""""""""""""""""""""

也许这样不方便,在WINDOWS下通常没有HOME目录,但是TMP/TEMP总有吧,

也可以这样写:

""""""""""""""""""""""""""""""""""""""""""""""

au VimLeave * mks! $TMP/Session.vim

let g:AA=expand("$TMP/Session.vim")

if expand("%")==""

if(expand("$TMP/Session.vim")==findfile(g:AA))

silent :source $TMP/Session.vim

endif

endif

"""""""""""""""""""""""""""""""""""""""""""""""

findfile("$TMP/Session.vim"))这个不能正确展开路径...why?

findfile(expand("$TMP/Session.vim"))这个好像可以正确展开路径.....

所以设置了一个全局变量AA,

(提示,在脚本中我用echo findfile("...")来测试返回结果

这是改后的:

"""""""""""""""""""""""""""""""""""""""""""""""""""

au VimLeave * mks! $TMP/Session.vim

if expand("%")==""

if(expand("$TMP/Session.vim")==findfile(expand("$TMP/Session.vim")))

silent :source $TMP/Session.vim

endif

endif

""""""""""""""""""""""""""""""""""""""""""""""""""""

保存在HOME目录下,关机下次还有,在TMP目录下就不一定了

大家有好的想法一定要留言呀
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐