Vim 使用阶段性总结系列(1)
使用Vim有段时间了,不过离熟悉运用还很远。所以抽出两天时间进行总结和提升,希望能进入一个新的阶段。
一:建立Vim工程的Bash脚本
我们在使用Vim开发软件的时候,当然希望使用ctags, cscope, lookupfile插件等带来的便利,如果没有它们,估计我是不可能抛弃sourceinsight而选择vim的。要使用这些辅助功能,需要首先为它们建立相关的数据文件。
通常,我们对整个工程里的文件建立数据文件,比如ctags –R *. 但是对于复杂的工程,我们希望有选择的加入和删除。
附件的devProject.sh就是为了这个目的而设计的,思路如下:
从中可以看出相对于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等需要的输入文件。
可以实现,关键字跳转,函数调用查询,文件打开等。