由于经常在linux下写c,遇到了和大家一样的问题,就是经常需要在头文件和源代码之间跳转。由于两个文件不在同一个目录上,于是每次都是要直接打:e ../include/model/foo.h之类的。
后来在网上查到a.vim可以实现这个功能,于是马上down下来。经过实验和看源码发现,a.vim仅仅支持头文件和源码在当前路径,以及../source ../src ../include ../inc这4个目录下面。但是经常会有这样的目录结构:
prject:
|---model_a
|---model_b
|---include
|---model_a
|---model_b
对于这样的结构除非设置g:alternateSearchPath,否则没有办法。于是花了点时间对a.vim动个手术。改进如下:
1.找到EnumerateFilesByExtensionInPath函数
2.增加一行代码:
let parentPath = expand("%:p:h:t")
|
3.在if (pathSpec != "")之后添加如下代码:
let path = <SID>ExpandAlternatePath(pathSpec . "/" . parentPath, a:relPathBase) let pe = EnumerateFilesByExtension(path, a:baseName, a:extension) if (enumeration == "") let enumeration = pe else let enumeration = enumeration . "," . pe endif |
哈哈,以后在文件之间切换就方便了。
BTW: Vim中CTL+^可以在两个文件之间来回切换,等同:e #。这样就不用敲命令了。
该插件要求VIM 7.2 以上
|
文件: |
plugin.tar.bz2 |
大小: |
7KB |
下载: |
下载 | |
阅读(4668) | 评论(1) | 转发(0) |