学习使用linux下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 是返回上级的查找

时间: 2024-10-13 14:09:18

学习使用linux下tags文件的相关文章

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

【Linux/Ubuntu学习 14】Linux下查看文件和文件夹大小

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.    du可以查看文件及文件夹的大小. 两者配合使用,非常有效.比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结. 下面分别简要介绍 df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子: 以下是代码片段: [[email protected] ~]$ df -hFilesystem

linux学习之 Linux下的Eclipse安装

①下载Eclipse的Linux版  http://www.eclipse.org/downloads/ 选择Linux版  前三个随意选择一个连接  选择系统的版本32位的还是64位的 点击下载 ②如果是用的windows系统下载的  将文件拷贝到Linux系统里面 ,如果是Linux系统直接下载跳过此步骤    拷贝的方法:①通过samba服务                    ②U盘   比如 在/home下面建立一个Eclipse文件夹   打开终端 mkdir /home/ecli

数据库学习之--Linux下Mysql源码包安装

数据库学习之--Linux下Mysql源码包安装 系统环境: 操作系统:RedHat EL6 DB Soft:  Mysql 5.6.4-m7     Mysql 在linux下的安装方式有两种版本,一种为Binary(二进制),另外一种为Source(源码包),本文为Source Install方式. 1.安装前的准备 解压安装包 [[email protected] ~]$ ls mysql-5.6.4-m7  mysql-5.6.4-m7.tar.gz  mysql-5.6.4-m7.ta

linux下修改文件的用户组chgrp和文件所有者chown

1. linux下修改文件用户组 chgrp: change group的简写,修改文件所属的用户组. chgrp users test.log 修改后查看 ls -l -rwxrwx--- 1 work users 0 Jun 8 15:46 test.log 如果要修改该目录下所有文件和目录,使用-R参数. chgrp -R users test 要被改变的group名,必须在 /etc/group 文件中. /etc/group文件记录系统中所有的组名称. 2. linux下修改文件所有者

修改Linux下的文件以及文件夹的权限

如何在Linux中管理文件和文件夹的权限? 2014-02-12 10:58 布加迪编译 51CTO 字号:T | T Linux系统有严格的权限管理制度,操作者权限与文件权限不匹配时将无法对文件进行任何操作.对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.本文从命令行开始入手,教您在Linux中管理文件和文件夹权限的方法. AD:51CTO学院:IT精品课程在线看! [51CTO精选译文]对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.人们通常认为,想进入到这种

如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

程序员都很懒,你懂的! 最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息.最后由我用java实现linux上exe文件的版本号读取功能.下面是详细代码: package com.herman.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.I

linux下遍历文件夹---opendir等用法

首先要说肯定是头文件,#include <sys/types.h>   #include <dirent.h> linux下遍历文件夹需要用到以下几个函数,其中有三个是必须的,其它几个是可选的. DIR* opendir(const char * name);   失败返回NULL.成功返回DIR结构体.注意DIR前面没有struct,如果加上编译器会warning struct dirent *readdir(struct DIR* dir);   失败返回NULL. void

Linux下的文件夹创建命令使用实践

[文章摘要] 本文以实际的C源程序为样例,介绍了Linux下的文件夹创建命令(mkdir)的用法.为相关开发工作的开展提供了故意的參考. [关键词] C语言  Linux  文件夹创建  makefile  开发 一.mkdir命令简单介绍 mkdir命令用来创建指定名称的文件夹,其命令格式为:mkdir [选项] 文件夹... 当中,[选项]能够是"-m"."-p"或"-v". 此外,文件夹名是区分大写和小写的. 二.本程序流程 本文中的程序用