vim 插件 -- ctags
vim ctags 插件实现代码跳转的功能。希望在一个项目中快速的找到函数,变量,宏等定义的地方。
下载
安装
tar -jxvf ctags-5.8.tar.gz
cd ctags-5.8
vim INSTALL (在这里可以看到如何安装ctags,没有兴趣的可以不看这步)
./configure
make
sudo make install
使用&配置
使用
1、生成tags文件
cd ~/testCode/
/usr/local/bin/ctags -R ./ (这里指定了全路径是因为安装了多个ctags,所以需要指定哪个版本。)
如果是C++工程,建议使用 ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./
命令完成后就会产生一个tags文件。ctags 插件就是根据这个文件来进行函数定位的。
2、打开一个文件,然后选定任意一个函数或者变量,使用 ctrl + ] 就可以跳转到该函数或者变量定义的地方。
3、ctrl + t 跳回去
配置 (可以直接复制到 ~/.vimrc)
"ctags config
"设置tags文件路径,这样不管在哪用vim打开代码都可以跳转了。
"如果不设置,那么就必须在有tags文件的目录才能跳转
set tags=/code/svn/study/trunk/tags
"实现自动递归查找功能,但是我在set tags 之后就可以实现递归查找了。
"有可能是因为我的tags是在项目根目录下生成的有关。先记录,如果
"不能实现递归跳转可以添加上试试。建议tags文件都在项目根目录下生成。
"set autochdir
"set tags=tags;
命令总结
ctags -R * (生成tags文件。建议在项目的根目录下生成tags文件,因为ctags要实现整个项目跳转就需要项目根目录下有这个文件。)
vim -t 函数名或者变量名
ts (tagslist, 可以列出当前跳转的所有结果)
tp (tagspreview, 跳转到上一个)
tn (tagsnext,跳转到下一个)
ctrl + ] (跳转)
ctrl + t (跳回到最初的地方)
报错
ctags -R ./
ctags: Failure on attempt to read file : Is a directory
当前目录下有一个tags的目录,删除或者改名即可。
其他
ctags -R ./ 命令是默认只包含C语言的语法分析。
如果需要支持C++语法分析,需要用如下命令:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ./
如果有echofunc插件来显示函数的参数定义插件。那么需要用如下命令:
ctags -R --fields=+lS ./
建议直接使用:
ctags -R --c++-kinds=+p --fields=+ialS --extra=+q ./
参考
https://blog.csdn.net/kang99827765/article/details/39430433
vim 插件 -- ctags的更多相关文章
- vim插件ctags的安装和使用
vim插件ctags的安装和使用 2013-11-19 20:47 17064人阅读 评论(0) 收藏 举报 分类: 开发工具(3) linux编程(9) c/c++编程(11) 版权声明:本 ...
- 使用VIM插件ctags来阅读C代码
说明 Ctags是vim下方便代码阅读的工具.尽管ctags也可以支持其它编辑器,但是它正式支持的只有vim.并且vim中已经默认安装ctags,它可以帮助程序员很容易地浏览源代码:ctags最先是用 ...
- vim插件ctags的安装与使用
LINUX系统下看程序或者编程序时,看到一个函数经常需要知道该函数的定义,这时ctags就派上用场了,其安装和使用方法如下: 安装方法: sudo apt-get install ctags (ubu ...
- vim插件ctags的安装和使用【转】
本文转载自:http://blog.csdn.net/g_brightboy/article/details/16830395 [ctags功能]: 为源码的变量/对象.结构体/类.函数/接口.宏等产 ...
- 常用vim插件的安装、使用和管理
1.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或者其他工具用来快速查找定位源代码中的符号,入变量名,函数名等.比如,tags文件就是Taglist和 ...
- VIM插件攻略
工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)
1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scr ...
- vim 插件管理
1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...
- 「个人vim插件+配置」
2016.10.4 filetype indent on syntax on set nu ai ci si set sw= ts= set autochdir set backspace= colo ...
随机推荐
- Ethzasl MSF源码阅读(2):百川汇海
这里有个感觉,就是百川汇海.即IMU数据和相机的消息数据都汇集到msf_core进行处理.接上一篇, 1. 查看IMUHandler_ROS::IMUCallback和IMUHandler_ROS:: ...
- sap 软件架构
1:
- Keras序列模型学习
转自:https://keras.io/zh/getting-started/sequential-model-guide/ 1.顺序模型是多个网络层的线性堆叠. 你可以通过将网络层实例的列表传递给 ...
- Cocos Creator cc.Node.点击事件
触摸事件 1.触摸事件的类型:START触摸启动,MOVED移动,ENDED弹起来,CANCEL取消; ENDED和CANCEL区别是ENDED物体内弹起来,CANCEL是在物体外范围弹起. 2.监听 ...
- 组件式开发(Vue)
什么是组件式开发: 组件式开发就是将单个组件组合起来,形成一个大的组件进行页面的开发完成 什么是复合型组件: 复合型组件就是将相同的功能写成一个公用的组件(单元组件),供其他组件使用,就类似于后台开发 ...
- Oracle 26表空间的管理
一.查看用户表空间 熟悉与表空间相关的数据字典 查看用户的表空间 相关的数据字典:(用于查询数据库信息的数据库表)dba_tablespaces (管理员级别的表空间的描述信息) User_table ...
- [openjudge-动态规划]滑雪
题目描述 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区 ...
- 基于Groovy+HttpRestful的超轻量级的接口测试用例配置的设计方案及DEMO实现
目标 设计一个轻量级测试用例框架,接口测试编写者只需要编写测试用例相关的内容(入参及结果校验),不需要理会系统的实现,不需要写跟测试校验无关的内容. 思路 测试用例分析 一个用例由以下部分组成: (1 ...
- 常用模块 time sys os json pickle
# import time # print(time.time()) #秒数 # print('开始下载') # time.sleep(2) # print('下载完成') # print(time. ...
- Uncaught SyntaxError: Unexpected token <解决方法
最近剥离基础框架的公共部分,早上有个页面部分流程未加载出来,报了Uncaught SyntaxError: Unexpected token <,网上搜了下 错误原因:js脚本中非正常引用外部的 ...