linux下代码阅读辅助工具

vim 配合 ctags

安装ctags

【生成tags文件】
 安装成功后,要为源码文件生成tags文件,才可享受ctags为阅读代码带来的便利。

$ ctags -R

递归的为当前目录及子目录下的所有代码文件生成tags文件

ctags功能如果要生效,当前的编译目录下必须有tags文件,如果没有 需要在vim命令行下指定

在vim命令行输入:
:set tags=./tags(当前路径下的tags文件)
若要引用多个不同目录的tags文件,可以用逗号隔开
或者,设置 ~/.vimrc,加入一行,则不用手动设置tags路径:
set tags=~/path/tags

如果不想每次都指定tags路径,可以这样操作 

 然后去你的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下

 运行命令: ctags -R         其中-R表示递归遍历
  我现在以  linux-kernel 的源码目录做演示
  $ cd  ~/ linux-kernel
  $ ctags -R      (如果是kernel源码的话还可以用  make tags)
   此时在/home/ linux-kernel/目录下会生成一个 tags 文件, 现在用vim打开
   即输入vim 然后Shift + : 
   然后再在vim末行运行命令,
    : set tags=/home/bob/linux-kernel/tags     (最前面的:是提示符,不必输入)
    每次都要输入这个才能使tags生效,我很懒,所以把该命令加入到~/.vimrc中, 你也可以将这句话放到~/.vimrc中去, 
    如果你经常在这个      工程目录编程的话.
    再如果你经常在不同工程间编程, 可以在.vimrc中加上:
     
set tags=tags;    "   其中 ; 不能没有
     set autochdir

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

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

返回到跳转前的位置。


如果想展现函数列表 ,需要再借助taglist

安装taglist插件

下载taglist   http://sourceforge.net/projects/vim-taglist/files/ ,

以 taglist_45.zip 为例进行演示,首先,在个人目录(~)下创建.vim目录,将taglist_45.zip中的内容解压缩到该目录下:

$ cd ~
$ sudo mkdir .vim
$ sudo mkdir .vim/plugin
$ cd .vim
$ sudo unzip ../taglist_45.zip
$ ls
doc  plugin
进入Vim,在命令模式下输入“helptags ~/.vim/doc”,即完成了Taglist的安装。



vim打开一个xx.cpp文件(前提tags文件已经生产),命令含模式下:Tlist即可列出函数列表,ctrl键然后按两下w键在正常编辑区域和tags区域中切换。

可以参考:http://blog.csdn.net/skyflying2012/article/details/8112144

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

致一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值