前言
以下内容仅用于个人学习记录,如有侵权,请联系我及时删除。
ctags 的作用是扫描工程中的代码,为代码中定义的函数、变量生成一份 tags 数据库文件。是辅助Vim编辑阅读的工具。
TagList插件是一款基于ctags,在vim代码窗口旁以分割窗口形式显示当前的代码结构概览,增加代码浏览的便利程度的vim插件。
二者结合使用可以提升阅读代码的效率,尤其体现在多链接、多文件的工程中。
一、软件安装与配置
1. ctags安装
Ubuntu系统可以直接通过apt-get命令安装ctags
sudo apt-get install ctags
安装完成以后,使用如下指令检查是否安装成功:
ctags --version
终端中显示ctags版本打印信息则为安装成功。
2. taglist安装
taglist使用源码编译方式进行安装,《下载链接》
在主目录下新建.vim文件夹,将下载的文件复制进入该文件夹中,并解压
sudo mkdir ~/.vim/
tar xvf taglist_46
解压后在该文件夹中会分别得到doc与plugin两个文件夹
使用pwd记录doc文件夹的绝对路径,如何任意使用Vim打开一个文件(也可以直接在终端中vim+空格),在命令行输入以下命令生成帮助文件:
:helptags /home/gosu/.vim/doc
这时我们可以直接在Vim中查看taglist的使用帮助了
:help taglist.txt
接下来我们对Vim进行一些个性化的配置,在根目录下创建.vimrc文件,并打开,在其中输入如下命令:
filetype plugin indent on //打开文件类型检测功能
let Tlist_Ctags_Cmd = '/usr/bin/ctags' //设定系统中ctags程序的位置
let Tlist_Show_One_File = 1 //不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 //如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Auto_Open = 1 //启动vim后,自动打开taglist窗口
set nu //显示文件行数与光标所处位置
set tags=tags; //选中ctags生成的tag标签
set autochdir //自动切换工作目录
set tags=./tags;,tags //如果想在tag所处文件夹下的子目录下使用,需输入
保存退出Vim。
二、使用步骤
在源码目录下生成索引文件,在终端中输入如下指令(ctags中最常用到):
ctags -R *
这样ctags就生成了包含该源码目录以及子目录(整个工程)的tag索引,接下来我们就可以
正常使用啦!
1. ctrl+]可以跳转到光标所在变量的定义处
2. ctrl+T可以返回上一次跳转定义的起点处,多次使用可追溯到第一次跳转定义的地方
3. ctrl+ww可以在taglist与vim窗口之间切换,在taglist窗口下,可以键入enter跳转至光标所在变量、函数的定义位置