当前位置: 首页 > 工具软件 > Ctags > 使用案例 >

ctags 的简单使用

萧英光
2023-12-01
1、首先查看 ctags的安装版本
$ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Mar  7 2014, 18:05:06
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex
2、如果没有安装
a)输入命令
$sudo apt-get install ctags
b)或者下载安装包,ctags-5.8.tar.gz
$tar zxvf ctargs-5.8.tar.gz -C ./
$cd ctags-5.8/
$./configure
$make
$sudo make install
3、建立tags,以 linux kernel 为例子:
$cd kernel
$ctags -R *
可以在目录中看到生成了 tags 这个文件
$vi ~/.vimrc
在 .vimrc 文件中添加
set tags=/home/andrew/kernel/tags
4、常用命令
这个时候可以使用下面命令
ctrl+]    跳转
ctrl+T    返回
ctrl+o  返回源文件
vi -t start_kernel    可以直接打开有 start_kerenl 的文件
如果有多个
$ts(tagselect) 列出所有 tags,让用户选择
# pri kind tag               文件
  1 F C f    start_kernel      arch/alpha/boot/bootp.c
               start_kernel(void)
  2 F   f    start_kernel      arch/alpha/boot/bootpz.c
               start_kernel(void)
> 3 F   f    start_kernel      arch/alpha/boot/main.c
               void start_kernel(void)
  4 F   f    start_kernel      init/main.c
               asmlinkage void __init start_kernel(void)
可以输入 3 进行选择
tn(tagnext) 打开下一个 tag
tp(tagprevious) 打开上一个 tag
tf(tagfirst) 打开第一个 tag
tl(taglast) 打开最后一个 tag
ta                直接跳转到第一个 tag 处
tj 如果只有一个,则直接跳到 tag 处,否则让用户选择


ctags 只能查找符号的定义,并不能实现 source Insight 中的 Jump to caller 功能.但是使用 cscope 插件,可以完善这一功能。
 类似资料: