博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu16.04安装配置和使用ctags
阅读量:7032 次
发布时间:2019-06-28

本文共 4251 字,大约阅读时间需要 14 分钟。

Ubuntu16.04安装配置和使用ctags

by ChrisZZ

ctags可以用于在vim中的函数定义跳转。在ubuntu16.04下默认提供的ctags是很老很旧的ctags,快要发霉的版本(5.9~svn20110310-11),快扔掉它,安装universal-ctags吧!

发霉的exuberant-ctags

来,一起看看,默认的ctags是什么情况。

查看apt提供了哪些ctags包

aptitude search ctags

查询结果:

v   ctags                                                                                                                             -                                                                                                                                            v   ctags:i386                                                                                                                        -                                                                                                                                            i   exuberant-ctags                                                                                                                   - build tag file indexes of source code definitions                                                                                          p   exuberant-ctags:i386                                                                                                              - build tag file indexes of source code definitions                                                                                          p   geany-plugin-ctags                                                                                                                - ctags plugin for Geany                                                                                                                     p   geany-plugin-ctags:i386                                                                                                           - ctags plugin for Geany                                                                                                                     p   libparse-exuberantctags-perl                                                                                                      - exuberant ctags parser for Perl                                                                                                            p   libparse-exuberantctags-perl:i386                                                                                                 - exuberant ctags parser for Perl

其中只有exuberant-ctags是apt可安装ctags版本的正确名字。

查看exuberant-ctags版本信息

dpkg -l exuberant-ctags

查询结果:

Desired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/ Name                                                           Version                              Architecture                         Description+++-==============================================================-====================================-====================================-==================================================================================================================================ii  exuberant-ctags                                                1:5.9~svn20110310-11                 amd64                                build tag file indexes of source code definitions

看到其中版本号是5.9~svn20110310-11,已经7年没有更新了。这样的包,发霉7年了,扔了吧:

sudo apt remove exuberant-ctags -y

安装新鲜的universal-ctags

universal-ctags是什么?A maintained ctags implementation, 。

不多说,快点安装吧:

sudo apt install autoconfcd /tmpgit clone https://github.com/universal-ctags/ctagscd ctags./autogen.sh./configure --prefix=/opt/software/universal-ctags  # 我的安装路径。你按自己的情况调整。make -j8sudo make install

把ctags可执行文件更新到系统PATH上?No,我选择创建链接的方式:

# 如果你装了emacs-snapshot,那么现在的ctags命令实际上链接到了/usr/bin/ctags-snapshot,要先删除链接文件:# sudo rm /usr/bin/ctags# 然后,把新编译安装的universal-ctags链接过来:sudo ln -s /opt/software/universal-ctags/bin/ctags /usr/bin/ctags

在vim中配置ctags

关键配置是:

set tags=tags;set autochdir

放在vim配置文件中。

可以直接用我的vim配置:

cd /tmpgit  clone --depth=1  https://github.com/amix/vimrc.git  ~/.vim_runtimesh  ~/.vim_runtime/install_awesome_vimrc.shgit  clone  https://github.com/zchrissirhcz/dotfilescp  dotfiles/my_configs.vim  ~/.vim_runtime/

使用ctags

cd ~/work/opencv   # 随便进入到一个你的c++工程目录ctags -R .  #递归地生成.tags文件

然后在vim中用Ctrl+](跳转到函数定义)和Ctrl+t(跳出定义)。注意,可以多层级嵌套使用,所以这两个操作相当于入栈和弹栈。

enjoy!

转载地址:http://ciyal.baihongyu.com/

你可能感兴趣的文章
遗漏问题
查看>>
队列安排
查看>>
myfragment/myacitvity
查看>>
UVA 10892 - LCM Cardinality
查看>>
认识委托
查看>>
ECharts报表的使用
查看>>
Daily scrum[2013.12.04]
查看>>
第五十六课、模型视图设计模式(中)------------------狄泰软件学院
查看>>
1044: C语言程序设计教程(第三版)课后习题10.2
查看>>
python 线程
查看>>
阿里云ECS服务器源配置
查看>>
java线程之二 多线程
查看>>
JQuery应用
查看>>
javascript 事件的学习
查看>>
apache中配置php支持模块模式、cgi模式和fastcgi模式的实验
查看>>
RANS VS LES
查看>>
队列 P1160 队列安排(啊啊 不会啊)
查看>>
Yii2.0如何建立公共方法
查看>>
规范的面向对象编程要点
查看>>
jQuery选择器之属性过滤选择器
查看>>