让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目录下就不一定了
大家有好的想法一定要留言呀
要看完哦,不然有麻烦的...
""""""""""""""""""""""""""""""""""""""""""
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目录下就不一定了
大家有好的想法一定要留言呀
相关文章推荐
- 让VIM自动打开上次编辑过的文件
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
- vim 恢复上次文件打开位置及自动更新,自动保存文件
- PLSQL Developer如何设置自动打开上次编辑的文件
- vim同时打开编辑多个文件
- ~/.viminfo权限引起的vim无法记住上次编辑的位置(附vim配置文件)
- VIM 进入上次打开的文件
- vim打开文件编辑后无写入权限
- 使用vim打开文件的16进制形式,编辑和全文替换
- vim编辑器重新打开文本,回到上次编辑的位置
- vim编辑php文件时html无法自动缩进的解决办法
- vim 同时打开和编辑多个文件
- vim编辑php文件时html无法自动缩进的解决办法
- vim自动打开跳到上次的光标位置
- vim以16进制打开和编辑文件
- 象WORD一样,双击.doc的文件就自动打开WORD并编辑该文件
- 设置vim的默认工作路径同时与自动设当前编辑的文件所在目录为当前工作路径不冲突
- vim自动打开跳到上次的光标位置
- 配置文件被编辑后,vim打开每行都有^M
- sublime关闭自动打开上次的文件和输入中文