分类: LINUX
2011-12-10 19:05:54
上面这条命令会在/Downloads/Backup目录下生成一个名为tags的文件,这个文件中包含/Downloads/Backup/linux-2.6.32.13目录下所有.c、.h文件中的标签。它一个文本文件,你可以用VIM打开它看一下。此文件缺省按区分字母大小写排序,所以直接可以被VIM使用。
现在我们进入VIM,执行下面的命令:
:cd ~/Downloads/Backup "切换当前目录为Downloads/Backup
:set tags=tags "设置tags选项为当前目录下的tags文件
现在,我们设置好了tags选项,接下来我们使用它:
:tag trap_init
ctags并不是编译器,它在处理编译预处理指令受到局限,因此并没有生成某些函数的标签。你可以在生成tag文件时给ctags指定参数来解决这个问题。
或者你可以用”:grep”或”:vimgrep”来查找main(这已经超出本文的范围了,因此只给出例子,在后续的文章再做讲解):
:cd ~/Downloads/Backup/
:vimgrep /
:cw
这时下面的窗口将显示出来,在quickfix窗口中找到我们想跳转的位置,按回车,就可以跳到对应的位置了。
VIM会保存一个跳转的标签栈,以允许你在跳转到一个标签后,再跳回来,可以使用“:tags”命令查找你处于标签栈的哪个位置。
我们经常用到的tag跳转命令见下(一般只需要知道CTRL-]和CTRL-T就可以了):
:tag {ident} "跳转到指定的标签
:tags "显示标签栈
CTRL-] "跳转到当前光标下的标签
CTRL-T "跳到标签栈中较早的标签
所用命令的帮助入口:
:help helptags
:help taglist.txt