vim插件ctags的安装和使用

【ctags功能】:

为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位。目前支持41种语言。

【ctags的安装】
1)在线安装:

sudo apt-get install ctags (ubuntu)

(RedHat系列使用:yum install ctags)
若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可。

2)手动下载安装:
参考步骤(以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

为了使得字段补全有效,在生成tags时需要一些额外的参数,推荐的c++参数主要是:
ctags -R --c++-kinds=+px --fields=+iaS --extra=+q
其中:
选项c++-kinds 用于指定C++语言的 tags记录类型,  --c-kinds用于指定c语言的,  通用格式是  --{language}-kinds
选项 fileds 用于指定每条标记的扩展字段域
extra 选项用于增加额外的条目:   f表示为每个文件增加一个条目,  q为每个类增加一个条目

【使用方法】
在vim打开源码时,指定tags文件,才可正常使用,通常手动指定,在vim命令行输入:
:set tags=./tags(当前路径下的tags文件)
若要引用多个不同目录的tags文件,可以用逗号隔开

或者,设置 ~/.vimrc,加入一行,则不用手动设置tags路径:
set tags=~/path/tags

若要加入系统函数或全局变量的tag标签,则需执行:
ctags -I __THROW –file-scope=yes –langmap=c:+.h –languages=c,c++
–links=yes –c-kinds=+p --fields=+S -R -f ~/.vim/systags /usr/include
/usr/local/include
并且在~/.vimrc中添加(亦可用上面描述的手动加入的方式):
set tags+=~/.vim/systags
这样,便可以享受系统库函数名补全、原型预览等功能了。

如果经常在不同工程里查阅代码,那么可以在~/.vimrc中添加:
set tags=tags;
set autochdir

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

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

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

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

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

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

此时在回头学习一下vim手册吧

:help usr_29

不过还有一个小瑕疵, 你修改程序后, 比如增加了函数定义, 删除了变量定义, tags文件不能自动rebuild, 你必须手动再运行一下命令:

$ ctags -R

使tags文件更新一下, 不过让人感到欣慰的是vim不用重新启动, 正在编写的程序也不用退出, 马上就可以又正确使用<C-]>和<C-T>了

时间: 2024-10-01 18:27:46

vim插件ctags的安装和使用的相关文章

vim插件ctags的安装与使用

LINUX系统下看程序或者编程序时,看到一个函数经常需要知道该函数的定义,这时ctags就派上用场了,其安装和使用方法如下: 安装方法: sudo apt-get install ctags (ubuntu) (RedHat系列使用:yum install ctags) 若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可. 使用方法: 1.生成标签文件 在当前目录下(运行$提示符后面的命令): $ctags -R . -R表示recursive,递归,为当前目录及其子目

vim插件——ctags的安装和使用

1.ctags(1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.6.tar.gzhttp://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz(2)解压并安装tar zxvf ctags-5.6.tar.gzcd ctags-5.6./configure && make && make install(3)使用[/home/brimmer/src]$ ctags -R &q

ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装

作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4137402.html 1.需要保证vim的版本大于7.3.584,否则的话需要更新vim 可以通过第三方源更新: 在终端输入下面的代码: $ sudo add-apt-repository ppa:fcwu-tw/ppa $ sudo apt-get update $ sudo apt-get install vim 升级得到vim7.4 2.需要有clang3.2以上的库 可以再此处下载

【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装

原文网址:http://www.cnblogs.com/jostree/p/4137402.html 作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4137402.html 1.需要保证vim的版本大于7.3.584,否则的话需要更新vim 可以通过第三方源更新: 在终端输入下面的代码: $ sudo add-apt-repository ppa:fcwu-tw/ppa $ sudo apt-get update $ sudo apt-g

vim 中Ctags的安装和使用

『插件介绍』 Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等.比如,tags文件就是Taglist和OmniCppComplete工作的基础. 『下载和安装』 一.我是使用apt-get安装的: sudo apt-get install ctags 二.下载源码安装(网上提供的方法) 1)从http://ctags.sourceforge.net/下载源代码包后,解压缩生成源代码目

vim插件详细安装过程

1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了, 我今天教大家把gvim改装成一个简易IDE, 说它"简易"是界面上看起来&quo

常用vim插件的安装、使用和管理

  1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和OmniCppComplete工作的基础. 安装过程: (1)打开链接:www.vim.org/scripts/script.php?script_id=610,下载完成后进去下载文件夹. (2)在下载文件夹下通过命令unzip ctags.vim命令解压下载的stags压缩文件,然后通过命令sud

一起talk Vim吧(第十五回:Vim插件之ctags)

各位看官们,大家好,欢迎大家一起来听大型章回体科技小说 :Vim.上一回咱们介绍了Vim插件中的配 置文件.这一回,咱们继续说Vim的插件.这一回我们要说的Vim插件叫:ctags.好了,还是那句话, 闲话休提,言归正转.让我们一起talk Vim吧! 看官们,咱们这回说的是Vim中的插件:ctags.ctags是一个工具,或者说一个应用软件.它可以通过插件 的形式运行在Vim中."什么是ctags呢",看官问的,正是我要说的,ctags主要用来生成带有tags标签 的文件,我们可以通

一起talk Vim吧(第十六回:Vim插件之ctags续)

各位看官们,大家好,欢迎大家一起来听大型章回体科技小说 :Vim.上一回咱们介绍了Vim插件中的ctags. 这一回,咱们继续说该插件.还是那句话,闲话休提,言归正转.让我们一起talk Vim吧! 看官们,咱们在上一回中说了如何安装Vim的插件ctags到系统中.有看官告诉我说,还不会使用这个插 件.看官莫急,咱们这回主要就是说说如何使用ctags这个插件. 看官们,使用ctags的步骤具体如下: 1.生成tags文件: 我们在上一回中说过:ctags主要用来生成带有tags标签的文件.还记得