展现vim之伟大系列一:学会VimScript你将踏上用程序写代码之路
学会VimSript你将踏上用程序写代码之路,
可以这样说,你有什么样的想象力,VIm就能有什么样的功能。当然比如让你登陆火星,或者给你生个孩子,这样抬杠的想法,vim肯定实现不了。
WIndows程序员或者想成为Windows程序员的人,都有一个潜在的隐痛,就是曾经写过的代码,完成的功能很强大,但是过了一段时间以后,
再去写的时候,发现自己不能一下就写成像原来哪样,经常忘记或者写错很多东西。
为什么不能把以前写过的代码,经常翻翻看看?
一个是因为可能你的工作学习任务很繁重,
在一个就是因为在windows,当你写过的代码或工程累积到一定数量级别的时候,在各个嵌套很深的目录里,找源码是很痛苦很费精力的事
在时间很紧迫,压力很大的情况下,谁有耐心去一层一层的在各层目录间切换找源码去看。
最主要的原因是因为在windows没有一个像grep这样的工具 ,vim可以实现,比如我想查看一下这两个工程中以前写过的源码:
这并没什么困难的,但是当你下次再查看的时候,你还是需要做同样的工作,当你查看的东西更多的时候,这就成为一个种很大的负担,下面我就展示一下怎么用VIM解决这样的问题,我把一段时间内,经常需要查看的源码或者笔记的目录,都保存在同一个文本文件里,就想这样,为了演示清晰,我只存了3个目录,
现在我要启动3个vim服务器,加载这三个目录下的以*.c,*.h,*.cpp的源码,当然如果我仔细的写通配符,我可以排除我不需要的源码,比如只加载
而排除其它的源码
启动配置好的vim脚本函数,vim命令窗口,已经复制光标行目录,并且提示是否使用当前的GVIM服务器,
我想新创建一个服务器, 用它加载这些源码,并让这个服务器名称定义为GVIM1,然后回车进入下一步
这里1是加载指定目录不递归,2在指定目录递归找文件,3目录指向一个会话,就想visual studio的工作空间一样的文件,
我们选择2,让程序递归找源码
这里指定查找的通配符,直接回车使用默认的
vim会将查找到的源码文件全部展示出来,然后如下图,最后一行
1 reset else to loadfile:
询问你是否加载,
或者是重新指定根目录和通配符查找,直到找到满意的文件列表,再加载
如果重新查找按1回车,否则,就用我们上面指定的vim服务器加载当前搜索到的文件列表,如果命名服务器不存在就创建之
按回车加载,新服务器已创建,
并加载了文件列表,看标题栏中,服务器名和文件路径提示,就知道执行的结果是我们想要的
查看下文件列表确认下
OK,今天就写到这里把,脚本的功能我会根据以后想法继续加强,(未完待续)