vim cscope ctags, 动态创建ctags, cscope.out,

本文介绍了一个用于在Vim环境中自动化创建Cscope和Tags工程的脚本,包括如何初始化目录、创建Cscope文件、生成Tags文件以及设置Vim插件。脚本适用于类似SourceInsight的IDE环境。

vim cscope ctags,  组合相当于windows的source Insight, 但是怎么动态创建工程了,我写了个脚本,共大家参考!


创建工程的脚本:

#!/bin/sh
filename:

# createproject.sh

#echo $HOME

if [ "$1" = "help" ] ; then
    echo "Usage:"
    echo "  createproject.sh [projectname]"
    exit 0
fi

if [ "$1" = "" ] ; then
    echo "please input your project-name"
    exit 1
fi

PROJECT=$1

CSCOPE_DIR=$HOME/.vim/prj_cscope
TAGS_DIR=$HOME/.vim/prj_tags
PLUGIN_DIR=$HOME/.vim/plugin

mkdir -p $CSCOPE_DIR
mkdir -p $TAGS_DIR
mkdir -p $PLUGIN_DIR


find $PWD -name "*.h" -o -name "*.c" -o -name "*.cc" > $CSCOPE_DIR/cscope.files
cscope -bkq -i $CSCOPE_DIR/cscope.files -f $CSCOPE_DIR/cscope_$PROJECT.out
#echo $PWD
ctags -f $TAGS_DIR/tag_$PROJECT -R $PWD --c++-kinds=+p --fields=+iaS --extra=+q

echo "set tags+=$TAGS_DIR/tag_$PROJECT" > $PLUGIN_DIR/prj_$PROJECT.vim

echo "if has(\"cscope\")" >> $PLUGIN_DIR/prj_$PROJECT.vim

echo "set csprg=/usr/bin/cscope" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "set csto=1" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "set cst" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "set nocsverb" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "if filereadable(\"$CSCOPE_DIR/cscope_$PROJECT.out\")" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "cs add $CSCOPE_DIR/cscope_$PROJECT.out" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "endif" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "set csverb" >> $PLUGIN_DIR/prj_$PROJECT.vim
echo "endif" >> $PLUGIN_DIR/prj_$PROJECT.vim


#############################################################################################

删除ctags, cscope.out的脚本:

#!/bin/sh
# filename:

# deleteproject.sh

#echo $HOME


if [ "$1" = "help" ] ; then
    echo "Usage:"
    echo "  deleteproject.sh [projectname]|[]"
    exit 0
fi


PROJECT=$1


CSCOPE_DIR=$HOME/.vim/prj_cscope
TAGS_DIR=$HOME/.vim/prj_tags
PLUGIN_DIR=$HOME/.vim/plugin


if [ "$PROJECT" = "" ] ; then
    rm -f $CSCOPE_DIR/*
    rm -f $TAGS_DIR/*
    rm -f $PLUGIN_DIR/prj_*.vim
else
    rm -f $CSCOPE_DIR/cscope_$PROJECT.out*
    rm -f $TAGS_DIR/tag_$PROJECT
    rm -f $PLUGIN_DIR/prj_$PROJECT.vim
fi

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值