zoukankan      html  css  js  c++  java
  • vim+ctags+cscope工具

           最近在看一个开源的项目,突然发现在Linux上不知道有什么方便的工具来看开源代码。以前,在Windows上用VS2010集成开发环境,对于任意一个函数直接有快捷键跳转到函数定义处。可现在在Linux上束手无策。然后,开始在网上找资料,才知道linux上有ctags的神器,唉..伤心,到底是菜鸟,连这些常用的工具都不知道,尚需努力啊!这里先记录学习下...

         

    一.插件介绍

         大部分unix系统都有ctags,它能跟vim很好地合作.ctags工具主要是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器来快速定位查找定位源代码的符号(tag/symbol)。

     

    二.用法

        1.安装  

       sudo  apt-get install ctags

       也可以去官网下载源码安装.

        2.使用

        2.1 生成标签文件  tags

         在当前目录下   $ctags -R  .

        -R表示recursive,递归,为当前目录及其子目录中的文件生成标签文件。.表示在当前目录.运行完当前目录会多一个文件tags,就是c标签的索引文件.

         Tags文件中包含的对象的列表:

    • 用#define 定义的宏
    • 枚举型变量的值
    • 函数的定义、原型和声明.
    • 名字空间(namespace)
    • 类型定义(typedefs)
    • 变量(包括定义和声明)
    • 类(class)、结构(struct)、枚举类型(enum)和联合(union)
    • 类、结构和联合中成员变量的函数.

        2.2跳转

        1.用vim打开一个已经建过标签的c文件

         vim -t tag:在运行vim的时候加上"-t"参数,例如: vim -t main

       这个命令将打开定义"main(变量或函数或其他)的文件,并将光标定义位到这一行。

         如果这个函数或变量有多处定义,在vim命令模式

        ": ts"命令就能列出一个列表供用户选择.

        ": tp"为上一个tag标记文件.

        ": tn"为下一个tag标记文件。

        2.ctrl+]  找到光标所在位置的标签定义的地方.

        3.ctrl+t  回到跳转之前的标签处.

    注意:此时运行vim,必须在"tags"文件所在的目录下运行。否则,运行它会找不到"tags"文件,而需要在vim中用":set tags="命令设定"tags文件的路径.对于一个比较大的项目,我们可能在任何一个目录下打开vim,在每个目录下生成tags文件不是一个好的方法,我们可以在.vimrc中增加一行:

         set tags=tags;/

     这是告诉vim在当前目录找不到tags文件时请到上层目录查找.

       

  • 相关阅读:
    「BZOJ1935」[SHOI2007]园丁的烦恼
    【BZOJ3262】陌上花开
    CDQ分治入门
    「luogu2664」树上游戏
    zoj3995 fail树
    zoj3997网络流+数学
    树状数组区间更新区间查询以及gcd的logn性质
    可修改的区间第K大 BZOJ1901 ZOJ2112
    数论容斥比较快速的做法和二分图判定1
    浙工大新生赛莫队处理+区间DP+KMP+分析题
  • 原文地址:https://www.cnblogs.com/sixue/p/4204803.html
Copyright © 2011-2022 走看看