我是靠谱客的博主 耍酷冬瓜,最近开发中收集的这篇文章主要介绍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

最后

以上就是耍酷冬瓜为你收集整理的vim插件ctags的安装和使用---vim多文件编程时快速定位问题的全部内容,希望文章能够帮你解决vim插件ctags的安装和使用---vim多文件编程时快速定位问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部