vim ctags

一、vim:tags

vim默认自带tags的常用指令,其需要用到的是tags文件

tags文件内容格式为(每行):

标签 文件路径 摘要描述 标签类型 标签格式化表示 标签的可见性

如:



因此如果发现tag指令没有打开对应位置,可以查看tags文件内容,查看标签是否没有被索引进去

那么可以通过不断更改打tags命令的参数,来最终使目标标签都索引上

vim中设置tags路径,可通过如下指令关联多个tags

set tags+=path


二、tags相关指令

1.ctrl+]:当前窗口下查询标签的所在文件的位置并展示(多个匹配时,展示第一个匹配到的)

2.ctrl+w+]:同ctrl+],只是是新开窗口

3.ctrl+o:回到上一个标签的位置上

4.ctrl+n:查询符合标签为开头的所有标签,并展示,继续按ctrl+n则往下选择

5.ctrl+p:查询符合标签为开头的所有标签,并展示,继续按ctrl+p则往上选择

6.g]:展示标签所有匹配的情况,选择对应数字,则打开标签所在的文件的位置并展示


三、tags生成

1.自己编写简单的工具,生成规定格式tags文件

2.使用现成的工具来完成-ctags

2.1 安装ctags(ubuntu)

sudo apt-get install ctags

2.2 打tags

在需要打标签的代码根路径下:

ctags -R
会在当前tags路径

但是一般这样会漏掉c/c++声明的在头文件的函数等,因此常用是下面的指令:

ctags -R -I __THROWNL -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q  -f ~/.vim/systags path1 path2 path3
其中的path1 path2 path3 对应你存放在多个路径的下的代码的根目录

然后将打完的tags的路径通过set tags+= 来设置即可

2.3 其他

vim打开后,其tags所设置的所关联所有tags,只要有被更新,其当前vim已经打开的都能被马上感知到-可用于实现自动更新tags

你可能感兴趣的:(操作系统_linux)