学习使用linux下tags文件

摘要:
Ctags可以分析程序生成标签文件供vim使用,因此在编写程序时实现函数原型、数据结构声明等的快速跳转非常方便。首先,确保您的Linux系统上安装了ctag。如果没有,请先安装ctag。如果是Debian或Ubuntu系统,请直接在终端上运行:sudoapt getinstallctags安装ctags后,找到源代码目录并在终端上执行以下命令以生成标记文件。Ctags-R然后打开vi,并输入一个类似于下面的命令,tags=后跟刚刚生成的标记文件的完整路径名。

ctags可以分析程序生成tag文件为vim所用,从而在编写程序时实现函数原型、数据结构声明等快速跳转,很是方便。
首先确定你的Linux 系统里安装了ctags。没有的话,请先安装ctags。如果是Debian或者Ubuntu系统,直接在终端上运
行:
sudo apt-get install ctags
装好ctags后,找一个源码目录,在终端上运行如下命令,会生成一个tags文件
ctags -R
然后打开vi,输入类似如下的指令,tags=后面为刚才生成的tags文件的全路径名。
:set tags=/Your/Path/To/tags
然后就可以尝试跳转了。如果是经常使用的工程,将上面的set一行写在你的.vimrc文件里即可。
常用跳转方法:
光标处Ctrl-]键:跳到光标所在单词的tag。Ctrl-T键:跳回原来的位置。g]键(先按g再按]):如果有同名的多个tag,
可以用这两个键进行跳转,会提示选择序号。

http://www.cppblog.com/Hoong/archive/2008/05/18/50321.html

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q src_dir
在对C++文件进行补全时,OmniCppComplete插件需要在标签文件中包含C++的额外信息,因此上面的ctags命令不同于以前我们所使用的,它专门为C++语言生成一些额外的信息,上述选项的含义如下:
--c++-kinds=+p  : 为C++文件增加函数原型的标签
--fields=+iaS   : 在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)
--extra=+q      : 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全。

*****************************************************************************************************8

第一步:进入目标目录
进入要设置tags的目录,例如:我们在linux开发应用程序时常要查看/usr/include/下文件所定义该宏的原型,那我们就cd /usr/include下
第二步:生成tags文件
在目标目录下运行,ctags -R ,就可以得到tags文件
第三步:把tags文件加入到vim中
vim /etc/vim/vimrc 修改vim启动时读取的配置信息,加入set tags=/usr/include/tags
这样vim在编辑文件时就知道要使用哪个tags文件了,注意的是只可以设置一个tags文件
还有一种方法是,我们在打开文件时也可以设置tags文件的路径,如:
在终端打开要编辑的文件  vim 1.c
在行命令模式输入       :set tags=/usr/include/tags
不过这样的话就是在每次打开文件都要设置tags文件
 
ctrl + ] 是进入下级查找
ctrl + t 是返回上级的查找

免责声明:文章转载自《学习使用linux下tags文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用GDB调试多进程程序linux下编译安装软件到指定目录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Debian中安装MySQL服务器

在Debian中安装MySQL服务器是很方便的,使用apt-get命令即可完成。   apt-getinstall mysql-server mysql-client mysql-server是服务器程序,mysql-client是客户端程序。我们可通过客户端程序来管理服务器,也可通过一些开源 的GUI程序来维护服务器,如phpmyadmin,mysql...

Linux(Centos7)下redis5缓存服务集群分布式搭建

注意:可以查看Redis官网查看集群搭建方式,连接如下 https://redis.io/topics/cluster-tutorial 集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。 如果条件有限,可以搭建伪分布式,以下步骤是在一台 Linux 服务器上搭建有6个节点的 Redis集群。 准备工作:安装依赖包 [root@localho...

linux 中awk命令实现统计列的频数

linux 中awk命令实现统计频数 1、 root@PC1:/home/test# ls a.txt root@PC1:/home/test# cat a.txt 3 4 6 3 2 4 8 2 1 5 6 2 4 3 6 1 2 4 7 3 3 4 7 2 root@PC1:/home/test# awk '{s[$3]++} END {for (i...

Linux内核调试方法总结之backtrace

backtrace 【用途】用户态或者内核态程序异常退出时回溯堆栈信息 【原理】通过对当前堆栈的分析,回溯上层函数在当前栈中的帧地址,直至顶层函数。帧地址是指在栈中存在局部变量、上一级函数返回地址、寄存器值的内存空间。由于不同处理器堆栈实现不同(向上增长和向下增长),此功能的具体实现是编译器内建的__buildin_frame_address及__buil...

每天一个Linux命令(4)touch命令

     touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。       (1)用法       用法:touch [选项]... 文件...     (2)功能       1)将每个文件的访问时间和修改时间改为当前时间;       2)不存在的文件将会被创...

Vim的字符编码设置

Vim编码方式的设置 和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,包括UCS-2、UTF-8 等流行的 Unicode 编码方式。但是,这需要用户自己动手设置。  Vim有四个跟字符编码方式有关的选项,分别是:encoding、fileencoding、fileencodings、termencoding (这些选项可能的取值请...