免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7822 | 回复: 1
打印 上一主题 下一主题

请高手帮忙排除ctags、cscope创建标签的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-14 17:00 |只看该作者 |倒序浏览
本帖最后由 tobeychen 于 2011-09-14 17:02 编辑

我创建ctags和cscope的自动脚本如下,为什么我使用ctrl-]或者使用cs命令查找标签定义的时候,会把name.files中的内容也找出来呢?在tags文件中也并没有出现name.files字样。
  1. #!/bin/sh

  2. OUT_PATH=./vimdatabase
  3. SRC_PATH=${PWD}

  4. if [ -d ${OUT_PATH} ];
  5. then
  6.         echo "Use old out path."
  7. else
  8.         echo "Mkdir \"${OUT_PATH}\""
  9.         mkdir ${OUT_PATH}
  10. fi

  11. if [ -d ${SRC_PATH}/block -a -d ${SRC_PATH}/drivers -a -d ${SRC_PATH}/fs -a -d ${SRC_PATH}/sound -a -d ${SRC_PATH}/arch ];
  12. then
  13.         echo "Found kernel directory, build kernel names.file."
  14.         find -L ${SRC_PATH}/block/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' > ${OUT_PATH}/names.file
  15.         #find -L ${SRC_PATH}/drivers/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  16.         find -L ${SRC_PATH}/fs/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  17.         find -L ${SRC_PATH}/include/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  18.         find -L ${SRC_PATH}/init/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  19.         find -L ${SRC_PATH}/ipc/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  20.         find -L ${SRC_PATH}/kernel/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  21.         find -L ${SRC_PATH}/lib/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  22.         find -L ${SRC_PATH}/mm/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  23.         find -L ${SRC_PATH}/net/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  24.         find -L ${SRC_PATH}/scripts/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  25.         find -L ${SRC_PATH}/sound/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  26.         if [ $# -eq 1 ];
  27.         then
  28.                 find -L ${SRC_PATH}/arch/arm/mach-$1/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  29.         fi
  30.         find -L ${SRC_PATH}/arch/arm/plat-omap/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  31.         find -L ${SRC_PATH}/arch/arm/mach-omap2/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  32.         find -L ${SRC_PATH}/arch/arm/plat-s3c24xx/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  33.         find -L ${SRC_PATH}/arch/arm/mach-s3c64xx/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  34.         find -L ${SRC_PATH}/arch/arm/lib/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  35.         find -L ${SRC_PATH}/arch/arm/kernel/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  36.         find -L ${SRC_PATH}/arch/arm/include/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  37.         find -L ${SRC_PATH}/arch/arm/boot/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  38.         find -L ${SRC_PATH}/arch/arm/common/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  39.         find -L ${SRC_PATH}/arch/arm/mm/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  40.         find -L ${SRC_PATH}/arch/arm/nwfpe/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  41.         find -L ${SRC_PATH}/arch/arm/vfp/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  42.         find -L ${SRC_PATH}/arch/arm/oprofile/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  43.         find -L ${SRC_PATH}/arch/arm/tools/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  44.         find -L ${SRC_PATH}/salsa-lib-0.0.22/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
  45. else
  46.         echo "For create names.file."
  47.         find -L ${SRC_PATH}/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' | grep -vi "${OUT_PATH}" > ${OUT_PATH}/names.file
  48. fi

  49. echo "for create cscope data base..."
  50. export TMPDIR=~
  51. cscope -vbkq -f ${OUT_PATH}/cscope.out -i ${OUT_PATH}/names.file
  52. echo "for create ctags data base..."
  53. ctags -L ${OUT_PATH}/names.file -f ${OUT_PATH}/tags

  54. echo "generate tag file for lookupfile plugin..."
  55. echo -e "!_TAG_FILE_SORTED\t2\t/2=foldcase/" > ${OUT_PATH}/filenametags
  56. find -L ${SRC_PATH} -not -regex '.*\.\(png\|gif\)' -type f -printf "%f\t%p\t1\n" | grep -vi '\.svn' | grep -vi "${OUT_PATH}" | sort -f >> ${OUT_PATH}/filenametags

  57. echo "complete."

复制代码

论坛徽章:
0
2 [报告]
发表于 2011-09-15 09:37 |只看该作者
有人碰到过类似的问题吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP