vim ctags java源码_如何使用vim的插件Ctags查看Linux源码
一.ubuntu下安装Linux内核源码
(1).查看自己的内核版本
(2).查看源内的内核源码类表
(3).下载源码
(4).进入/usr/src
(5).解压下载的文件到用户主
二.安装vim插件Ctags和使用
插件的介绍
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
(1).下载并安装
(2).基本功能使用
1.$ ctags –R * ($ 为Linux系统Shell提示符)
2.$ vi –t tag (请把tag替换为您欲查找的变量或函数名)
3.:ts
(ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
4.:tp (tp 助记字:tags preview)
5.:tn (tn 助记字:tags next)
6.Ctrl + ]
7.Ctrl+T
命令解释:
“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
Tags文件中包括这些对象的列表:
1.用#define定义的宏
2.枚举型变量的值
3.函数的定义、原型和声明
4.名字空间(namespace)
5.类型定义(typedefs)
6.变量(包括定义和声明)
7.类(class)、结构(struct)、枚举类型(enum)和联合(union)
8.类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象。
剩下的命令就是定位这些对象的方法:
“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:
[/usr/src]$ vim -t main
这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。
如果这个变量或函数有多处定义,在VI命令行模式
“:ts”命令就能列出一个列表供用户选择。
“:tp”为上一个tag标记文件,
“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。
方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到初打开的文件,它会按原路返回 。
更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。
查看函数strlen的步骤如下:
(1).给当前文件夹及其及其子目录创建tags标记文件.
(2).使用vim打开标记文件
(3).使用ts显示该函数的列表
(4).按space出现下面界面
(5).找到lib/*.c,输入编号
(6).显示源码
(7).查看变量的定义,光标放在变量上,按ctrl+] ,ctrl+o/t回来
(8).打开/etc/vim/vimrc文件
(9).在低端添加set tags=tags;/
在当前路径下未找到tags文件,去上级路径以及上上路径去查找
vim ctags java源码_如何使用vim的插件Ctags查看Linux源码相关推荐
- app商城源码_海量的SpringBoot和SSM项目【附带源码+视频教程】快速成为全栈
为了帮助更多的小伙伴进行项目的锻炼,孟哥整理较多的实战项目,包括SSM.Springboot.Springcloud.小程序等. 各种项目还在不断的更新中--仅限制学习使用,若有侵权,请联系删除. 点 ...
- 开源项目实例源码_今年我读了四个开源项目的源码,来分享下心得
今年来看了 RocketMQ.Kafka.Dubbo .Tomcat 的源码,之前也有读者询问过如何读源码,索性就来分享一下. 其实还看了一点点 Linux.Redis.jdk8,这几个阅读的目的和上 ...
- php mysql婚纱摄影网站源码_织梦大气婚纱影楼摄影企业网站模板源码 v5.7
织梦大气婚纱影楼摄影企业网站模板源码安装教程: 1.将下载的织梦源码全部传到空间根目录,由于有很多人反应安装后首页样式都乱的,(强烈要求安装到根目录,如:127.0.0.1 / www.xxx.com ...
- java的jdbc看不到源码_不了解jdbc,何谈Mybatis的源码解析?
这篇文章主要用来展示jdbc的使用,是为了方便阅读MyBatis源码使用的,为源码分析做一个提前热身: 里面很多关键性的信息在MyBatis源码里面都能找到,本篇不做MyBatis源码的分析, 因为M ...
- java arraylist 常用方法_分享ArrayList中的几个常用方法的源码
jdk1.7.0_79 上文里解析了有关ArrayList中的几个常用方法的源码--<有关ArrayList常用方法的源码解析>,本文将对LinkedList的常用方法做简要解析. Lin ...
- 微信签到抽奖程序java源码_某宝买的微信抽奖签到墙源码,年会,学习源码--已经配置完成了,源码没问题,可直接用...
本帖最后由 没有星星的夜空 于 2020-1-6 15:46 编辑 老铁门都要18办内定的,那行,已经更新到蓝揍链接了,打开连接后看备注问题1.浏览器版本不兼容问题,在首页文件里面把注释去掉就好了 问 ...
- 产线数字化软件源码_软件生产线技术、开源软件声明、源码下载地址
软件生产线技术.开源软件声明.源码下载地址 软件生产线指生产软件的软件,先利用建模工具软件用图解的形式给出应用系统的系统模型,之后自动生成应用系统可执行程序,自动完成建立应用系统的工作.它能有效提高应 ...
- html页面源码_整合SpringMVC之错误处理底层原理及源码分析
一. SpringBoot的默认错误处理策略 1. 对404的默认处理策略 我们在发送请求的时候,如果发生了404异常,SpringBoot是怎么处理的呢? 我们可以随便发送一个不存在的请求来验证一下 ...
- 生鲜配送小程序源码_生鲜社区团购配送系统小程序源码搭建平台模式
生鲜配送系统开发,找[金生157威6875店2419同号]生鲜配送模式开发,生鲜配送软件开发,生鲜配送APP开发,生鲜配送平台开发平台,生鲜配送系统源码开发平台,生鲜配送系统平台,生鲜配送系统定制开发 ...
最新文章
- 地铁闸门会夹伤人吗_西安地铁率先推出分类垃圾箱 四种类型你会放吗?
- python格式化字符串漏洞_Python新型字符串格式漏洞分析及解决方案
- Dictionary,hashtable, stl:map有什么异同?
- 高级C语言教程-关键字和运算符
- div/span强制不换行
- 基于CNN的性别、年龄识别及Demo实现
- html里面Meta标签的使用
- java 假设当前时间_Java中与日期和时间相关的类和方法
- 从HTTP响应头看苹果国内用了哪家CDN及CDN高防DDOS技术
- 词向量算法—Word2Vec和GloVe
- 关机时无人照管更新正在运行_路辉物流设备:无人化分拣作业驱动物流业降本增效...
- iOS 面向切面编程与typhoon框架
- 实现选择文本时选中整个元素文本
- python之父:一个合格的python程序员,应该从这三本书入手!
- Linux系统中VCS、Dve Verdi的使用
- java calendar 比较大小_关于Java日期加减,并且比较大小的方法
- Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
- SCI 论文投稿之投稿信(Cover Letter)写法--附真实案例
- 机器学习(周志华)算法目录
- 刚子扯谈 活着 没那么简单
热门文章
- c++ || && 逻辑短路问题
- java的原生数据类型_Java中的8种原生数据类型(Primitive Data Types)分析
- apktool重新打包,error:No resource identifier found for attribute ‘compileSdkVersionCodename‘ in package
- 【APICloud系列|24】 MNNavigationMenu模块(导航菜单)的实现
- c语言程序整数四则运算,c语言中三个整数随机的四则运算
- CSS3的常用属性(一)
- AngularJS快速入门指南03:表达式
- canvas绘制经典折线图(一)
- MVC 之var与dynamic
- 课时3.浏览器访问网页原理(理解)