vim插件ctags的安装和使用---vim多文件编程时快速定位问题

每天知道一点
2018.9.30

vim插件ctags的安装和使用
【ctags功能】:

            在Linux操作系统上进行多文件编程时,通常需要查看变量的定义,类,函数的定义等内容,此时需要另开一个vi窗口去查变量或者类的定义,十分的麻烦。而ctags插件解决了上述问题。
           ctags插件为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位。
    目前支持41种语言,这里仅以C/C++为例:ctags可以产生c/c++语言所有类型的索引文件,具体如下:

  -> class names(类名) 
  -> macro definitions(宏定义) 
  -> enumeration names(枚举名) 
  -> enumerators(枚举变量) 
  -> function definitions(函数定义)
  -> function prototypes/declarations(函数定义/声明) 
  -> class, interface, struct, and union data members(类,接口,结构体,联合体)
  -> structure names(结构体名)
  -> typedefs(别名)
  -> union names(联合体名)
  -> variables (definitions and external declarations)变量
===================================
【ctags的安装】
1)在线安装:
sudo apt-get install ctags (ubuntu)
(RedHat系列使用:yum install ctags)
若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可。

参考步骤(以5.8版本ctags-5.8.tar.gz为例)
解压后
$ cd ctags-5.8
$ ./configure
$ make
# make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等
===================================
【生成tags文件】
 安装成功后,要为源码文件生成tags文件,才可享受ctags为阅读代码带来的便利。

$ ctags -R *
递归的为当前目录及子目录下的所有代码文件生成tags文件

为某些源码生成tags文件,使用如下命令
$ ctags filename.c filename1.c file.h 

$ ctags *.c *.h
===================================
【使用方法】
如果经常在不同工程里查阅代码,那么可以在~/.vimrc中添加:
set tags=tags;
set autochdir

——————————————————————————————————
设置好了tags文件,在定位变量/函数的定义时,最常用的快捷键是 Ctrl + ]
而使用快捷组合键 Ctrl + o/t 
返回到跳转前的位置。

另外,ctags不会生成局部变量的索引,不过可以使用gd组合键(对光标所在处的word进行快捷查找定位)来定位,也是相当快捷的。

$ vim -t myAdd
用vim打开文件时,添加参数-t funcName会自动打开定义该函数的文件并定位到定义首行,上面这句就是找到myAdd定义的文件打开并将光标置于定义的第一行处。

:tags 
会列出查找/跳转过程(经过的标签列表)

——————————————————————————————————————————————
另外,附上vim环境中其他较为好用的快捷键
* 定位至当前光光标所指单词的下一次出现的地方
# 定位至当前光光标所指单词的上一次出现的地方
n 定位至跳至已被标记出的单词下一次出现的地方
shift+n 定位至跳至已被标记出的单词上一次出现的地方


关于更详细的ctags用法,vim中使用
:help tags

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值