vim 中Ctags的安装和使用

转载 2016年05月31日 14:17:43

来源:http://blog.csdn.net/duguteng/article/details/7412652

这两天看到网上有将vim 改造成功能强大的IDE的blog,突然心血来潮,亲身经历了一下。

网友的帖子都不错,我这里只是将各种插件分开罗列,然后加上一些使用技巧。

希望本文对你有所帮助!


『插件介绍』

Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

『下载和安装』

一、我是使用apt-get安装的:

sudo apt-get install ctags

二、下载源码安装(网上提供的方法)

        1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目录,

        2)然后进入源代码根目录执行./configure,

        3)然后执行make,

        4)编译成功后执行make install。

『基本功能使用方法』

常用命令列表:

        1.  $ ctags –R *      ($ 为Linux系统Shell提示符)

        2.  $ vi –t tag         (请把tag替换为您欲查找的变量或函数名)

        3. :ts                                (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
        4. :tp                                (tp 助记字:tags preview)
        5. :tn                                (tn 助记字:tags next)
        6. Ctrl + ]
        7. Ctrl + T

命令解释:

“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。

Tags文件中包括这些对象的列表:

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

VIM用这个“tags”文件来定位上面这些做了标记的对象。


剩下的命令就是定位这些对象的方法:

“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:

[/usr/src]$ vim -t main

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


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

“:ts”命令就能列出一个列表供用户选择。   

“:tp”为上一个tag标记文件,

“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。


最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。

更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。


注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。

在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。


『阅读说明』

1)Vim存在多个配置文件vimrc,比如/etc/vimrc,此文件影响整个系统的Vim。还有~/.vimrc,此文件只影响本用户的Vim。而且~/.vimrc文件中的配置会覆盖/etc/vimrc中的配置。这里我们只修改~/.vimrc文件。

    2)Vim的插件(plugin)安装在Vim的runtimepath目录下,你可以在Vim命令行下运行"set rtp“命令查看。这里我们选择安装在~/.vim目录,没有就创建一个。

    3)当本文说”在Vim命令行下运行cmdxx命令“时,意思是指在Vim的命令行模式下运行cmdxx命令,即在Vim的正常模式下通过输入冒号":"进入命令行模式,然后紧接着输入命令cmdxx。在后文描述中都会省略冒号":"输入。

    4)如果没有说明“在Vim命令行下运行某命令”,则是在shell中执行该命令。

    5)如果命令中间被空白符间隔或有与正文容易混淆的字符,我会用双引号将命令与正文区分。所以读者在实际操作时,不要输入命令最前面和最后面引号。

    6)本文关于组合快捷键的描述,形如a-b形式的快捷键表示同时按下a键和b键,而形如"a-b c"形式的快捷键,则表示先同时按下a键和b键,然后放开ab键,再按下c键。

    7) 本人使用的系统是Ubunt 11.10 ,Vim版本是Vi IMproved 7.3


Mac终端Vim如何安装使用ctags

来自: 放弃天堂的神(阳光再暖,也暖不到心) 2012-08-09 21:27:11 现在的问题是打开任何C文件都会提示  Taglist : Failed to Generate...
  • oMingZi12345678
  • oMingZi12345678
  • 2014年11月12日 22:07
  • 840

将Vim配置成为一款强大的编辑工具之 ctags的安装和使用

ctags的安装和使用 ctags生成tags ctags扫描指定文件 ctags扫描指定目录
  • cpwolaichile
  • cpwolaichile
  • 2015年09月17日 15:26
  • 2085

vim+ctags+cscope安装与使用总结(不断补充中)

ctags 1、安装ctags 1) sudo apt-get install ctags  或者 2) 在http://ctags.sourceforge.net/ 下载源代码...
  • luckywang1103
  • luckywang1103
  • 2015年03月10日 22:02
  • 13109

Centos下vim、ctags的配置及基本用法

一、vi/vim 基本使用方法       vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的配置和一小部分指令。由于对Unix及...
  • l_tudou
  • l_tudou
  • 2016年06月01日 13:36
  • 4900

vim插件ctags的安装和使用

· ctags功能:        为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位。目前支持41种语言,这里仅以C/C++为例:ctags可以产生c/c++语言所有类型的索...
  • G_BrightBoy
  • G_BrightBoy
  • 2013年11月19日 20:47
  • 48060

VIM for windows + ctags + taglist + winmanager

http://youlvconglin.blog.163.com/blog/static/523204201001712047566/ 有个同事使用VIM进行开发,效率非常高,原来是使用了V...
  • jallin2001
  • jallin2001
  • 2011年10月09日 14:05
  • 6344

vim 和ctags的简单使用

FreeBSD下的简单的vim和ctags使用。
  • Zhai_ZB
  • Zhai_ZB
  • 2016年11月27日 14:37
  • 828

在Vim中使用ctags

如何在Vim中使用ctags?之前在《把Vim打造成真正的IDE》系列里已经讲过大致的ctags在vim中的使用,这篇文章我们就详细的讲一下。首先要明白,ctags是什么? 官方的解释是: 产生...
  • yockie
  • yockie
  • 2016年04月07日 23:40
  • 6919

vim 插件 通过vundle 安装 tagbar

1.vim ~/.vimrc 的vim配置文件 "文件侦查启动,用以检测文件的后缀 filetyp on "安装tagbar插件 Bundle 'majutsushi/tagbar' "设置tagba...
  • mengzhisuoliu
  • mengzhisuoliu
  • 2015年12月18日 14:03
  • 4281

vim 的ctags,taglist和supertab详解

Taglist和Ctags介绍  Taglist是Vim的源代码浏览插件,提供了在Vim中查看文件中包含的函数列表和类的方法类表的功能。Taglist功能的实现要依赖于Ctags。Ctags是一个用...
  • u011365893
  • u011365893
  • 2013年10月15日 23:42
  • 2431
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vim 中Ctags的安装和使用
举报原因:
原因补充:

(最多只允许输入30个字)