http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html
http://blog.csdn.net/dengxiayehu/article/details/6330200
根据上面的链接安装好vimrc之后,需要解决cscope和ctags指定特定目录下的cscope.out时的路径和使用快捷键查找时路径不匹配的问题。
首先是加载特定目录下cscope.out文件
这一步可以通过修改~/.vimrc文件来实现。
假设我的项目源文件路径是/home/nginx/nginx-1.2.0/src
我的~/.vimrc修改如下:
let PROJECT_PATH="/home/nginx/nginx-1.2.0/src" " add any database in $PROJECT_PATH directory " if filereadable(PROJECT_PATH."cscope.out") let tmp_var=$VIMRUNTIME let $VIMRUNTIME=PROJECT_PATH cs add $VIMRUNTIME/cscope.out let $VIMRUNTIME=tmp_var " else add database pointed to by environment if $CSCOPE_DB != "" cs add $CSCOPE_DB endif set csverb "--------------------- "下面是指定ctags加载tags文件的路径 "设置tags let tmp_var=$VIMRUNTIME let $VIMRUNTIME=PROJECT_PATH set tags=$VIMRUNTIME/tags let $VIMRUNTIME=tmp_var
通过上面的设置就可以加载指定目录下的cscope.out和tags文件了。但是还有一个问题就是,在使用cscope -Rbq *创建cscope.out以及使用ctags -R创建tags文件时,默认生成的cscope.files中的文件路径是相对路径,因此,该问题的解决方法就是将cscope.files中罗列的路径名改成绝对路径即可。方法很简单,使用sed进行替换即可,下面给出我使用生成cscope.out和tags文件的脚本。
#!/bin/sh prj_path=/home/nginx/nginx-1.2.0/src find . -name "*.h" -o -name "*.c"-o -name "*.cc" > cscope.files sed -i 's:^.:/home/nginx/nginx-1.2.0/src:g' cscope.files cscope -bkq -i cscope.files ctags -R -L cscope.files