日常生活小技巧 -- vim 中 ctags 的安装和使用

 ctags 主要是用来创建 Vim 可以使用的 tag 索引文件的。

一、下载安装

Ubuntu下 执行 sudo apt-get install ctags

二、建立索引文件

在你想要建立索引文件的文件夹目录下执行:

sudo ctags -R *


然后可以发现该目录下多了一个 tags ,它就是索引文件


三、设置索引文件位置

但是 vim 里现在还不知道 tags 文件的位置,你需要设置一下。

# vi /root/.vimrc 
//在文件最后添加 tags 位置
set tags=/home/tarena/project/tags


如果不设置索引文件位置,然后执行 ctrl+] 则会出现错误:

E433: 没有 tag 文件
E426: 找不到 tag: XXXXX

四、使用方法

vi -t tagname    跳转到标签tagname定义的地方



:ta tagname    跳转到标签tagname定义的地方



:tags    查看到达当前位置所经过的标签路径


五、跳转快捷键

ctrl+]    跳转至光标所在对象定义之处
ctrl+t    返回跳转前位置

六、其他快捷键

ctrl+g  或者 :f    查看当前文件名和所在行号



shift+8    查找光标所在处的对象

然后按快键键 N 向后查找,按 shift+N 为向前查找



想了解更多,参看:C语言再学习 -- 常用快捷键

七、辅助软件 taglist

参看:vim插件taglist的安装和使用

taglist 提供了源码的结构化浏览功能,可将源码中定义的类、函数、变量等以树结构显示,层次关系可一目了然,而且于快速定位并查看。前提是必须要安装 ctags。

(1)下载

下载:Click on the package to download.

(2)安装

解压到 ~/.vim 目录下

# unzip taglist_46.zip

 

进入doc目录 打开 vim 在命令模式下输入 helptags .


可以看到 doc 文件夹下多了一个 tags


这一步的作用是为了导入 taglist.txt 这个帮助文件,那么后面便可以使用 help taglist.txt 来详细查看手册。

比如现在再打开 vim,在命令模式下输入 help taglist.txt,可以看到帮助手册。



到此安装完成。

(3)使用

使用 vim 打开一个文件,然后在命令模式下输入 Tlist,可以看到有如下这种界面了。

关闭界面同样是在命令模式下输入 Tlist

ctrl+ww    切换左右窗口。

在左侧界面选择要跳转的函数,回车即可跳转到右边的函数对应位置


(4)快捷键

taglist窗口中可使用的快捷键:

<CR>          跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样(但要在vimrc文件中打开此项功能)
o             在一个新打开的窗口中显示光标下tag
<Space>       显示光标下tag的原型定义
u             更新taglist窗口中的tag
s             更改排序方式,在按名字排序和按出现顺序排序间切换
x             taglist窗口放大和缩小,方便查看较长的tag
+             打开一个折叠,同zo
-             将tag折叠起来,同zc
*             打开所有的折叠,同zR
=             将所有tag折叠起来,同zM
[[            跳到前一个文件
]]            跳到后一个文件
q            关闭taglist窗口
<F1>         显示帮助
其他一些设置选项可在vimrc脚本中添加,如:
"设置ctags路径
let Tlist_Ctags_Cmd = '/usr/bin/ctags'

"启动vim后自动打开taglist窗口
let Tlist_Auto_Open = 1

"不同时显示多个文件的tag,仅显示一个
let Tlist_Show_One_File = 1

"taglist为最后一个窗口时,退出vim
let Tlist_Exit_OnlyWindow = 1

"taglist窗口显示在右侧,缺省为左侧
let Tlist_Use_Right_Window =1

"设置taglist窗口大小
"let Tlist_WinHeight = 100
let Tlist_WinWidth = 40

"设置taglist打开关闭的快捷键F8
noremap <F8> :TlistToggle<CR>

"更新ctags标签文件快捷键设置
noremap <F6> :!ctags -R<CR>



  • 27
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

聚优致成

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

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

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

打赏作者

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

抵扣说明:

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

余额充值