Vim 使用阶段性总结系列(1)
使用Vim有段时间了,不过离熟悉运用还很远。所以抽出两天时间进行总结和提升,希望能进入一个新的阶段。
这中间,主要参考了Easwy Yang写的<<Vim使用进阶>>博文。见 http://easwy.com/blog/。在这里,表示一下深深的感谢。
 
一:建立Vim工程的Bash脚本
我们在使用Vim开发软件的时候,当然希望使用ctags, cscope, lookupfile插件等带来的便利,如果没有它们,估计我是不可能抛弃sourceinsight而选择vim的。要使用这些辅助功能,需要首先为它们建立相关的数据文件。
通常,我们对整个工程里的文件建立数据文件,比如ctags –R *. 但是对于复杂的工程,我们希望有选择的加入和删除。
附件的devProject.sh就是为了这个目的而设计的,思路如下:
 Vim 使用阶段性总结系列(1) - 建立工程_休闲
从中可以看出相对于sourceinsight, vim的一个优势。Sourceinsight建立项目的时候,需要手动加减工程文件,而vim,一旦脚本写好,一劳永逸。
 
例如,我们在linux下开发应用程序,可以在应用程序工程目录下创建一个prj目录。在该目录下编辑devInputNormal.sh如下:
 
#!/bin/sh
T_PRJDIR=$(pwd | xargs dirname)
path_list="
    $T_PRJDIR
    "
file_list="
    "
remove_list="
    "
# output filename
src_filelist=src_filelist
lookup_filelist=lookup_filelist
ctags_output=tagsdebug
cscope_output=cscope
lookupfile_tags=filenametags
 
stdIncInput=~/work/env/normal/devInputStdInc.sh
if [ -f $stdIncInput ]; then
    . $stdIncInput
else
    echo "file $stdIncInput is not exist"
    exit
fi
这里面包含的devInputStdInc.sh,内容如下:
 
path_list+="
    /usr/local/include
    /usr/include
    "
file_list+="
    "
remove_list+="
    /xulrunner-sdk
    /evolution
    /kde/
    /kde4/
    /boost/
    /X11/
    /Qt
    /gtk-2.0/
    /c\+\+/
    "
 用于选择性的包含/usr/include目录下的文件。
 
然后运行:
sh ~/work/env/devProject.sh devInputNormal.sh
 
生成ctags, cscope, lookupfile等需要的输入文件。
可以实现,关键字跳转,函数调用查询,文件打开等。