一.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源码相关推荐

  1. app商城源码_海量的SpringBoot和SSM项目【附带源码+视频教程】快速成为全栈

    为了帮助更多的小伙伴进行项目的锻炼,孟哥整理较多的实战项目,包括SSM.Springboot.Springcloud.小程序等. 各种项目还在不断的更新中--仅限制学习使用,若有侵权,请联系删除. 点 ...

  2. 开源项目实例源码_今年我读了四个开源项目的源码,来分享下心得

    今年来看了 RocketMQ.Kafka.Dubbo .Tomcat 的源码,之前也有读者询问过如何读源码,索性就来分享一下. 其实还看了一点点 Linux.Redis.jdk8,这几个阅读的目的和上 ...

  3. php mysql婚纱摄影网站源码_织梦大气婚纱影楼摄影企业网站模板源码 v5.7

    织梦大气婚纱影楼摄影企业网站模板源码安装教程: 1.将下载的织梦源码全部传到空间根目录,由于有很多人反应安装后首页样式都乱的,(强烈要求安装到根目录,如:127.0.0.1 / www.xxx.com ...

  4. java的jdbc看不到源码_不了解jdbc,何谈Mybatis的源码解析?

    这篇文章主要用来展示jdbc的使用,是为了方便阅读MyBatis源码使用的,为源码分析做一个提前热身: 里面很多关键性的信息在MyBatis源码里面都能找到,本篇不做MyBatis源码的分析, 因为M ...

  5. java arraylist 常用方法_分享ArrayList中的几个常用方法的源码

    jdk1.7.0_79 上文里解析了有关ArrayList中的几个常用方法的源码--<有关ArrayList常用方法的源码解析>,本文将对LinkedList的常用方法做简要解析. Lin ...

  6. 微信签到抽奖程序java源码_某宝买的微信抽奖签到墙源码,年会,学习源码--已经配置完成了,源码没问题,可直接用...

    本帖最后由 没有星星的夜空 于 2020-1-6 15:46 编辑 老铁门都要18办内定的,那行,已经更新到蓝揍链接了,打开连接后看备注问题1.浏览器版本不兼容问题,在首页文件里面把注释去掉就好了 问 ...

  7. 产线数字化软件源码_软件生产线技术、开源软件声明、源码下载地址

    软件生产线技术.开源软件声明.源码下载地址 软件生产线指生产软件的软件,先利用建模工具软件用图解的形式给出应用系统的系统模型,之后自动生成应用系统可执行程序,自动完成建立应用系统的工作.它能有效提高应 ...

  8. html页面源码_整合SpringMVC之错误处理底层原理及源码分析

    一. SpringBoot的默认错误处理策略 1. 对404的默认处理策略 我们在发送请求的时候,如果发生了404异常,SpringBoot是怎么处理的呢? 我们可以随便发送一个不存在的请求来验证一下 ...

  9. 生鲜配送小程序源码_生鲜社区团购配送系统小程序源码搭建平台模式

    生鲜配送系统开发,找[金生157威6875店2419同号]生鲜配送模式开发,生鲜配送软件开发,生鲜配送APP开发,生鲜配送平台开发平台,生鲜配送系统源码开发平台,生鲜配送系统平台,生鲜配送系统定制开发 ...

最新文章

  1. 地铁闸门会夹伤人吗_西安地铁率先推出分类垃圾箱 四种类型你会放吗?
  2. python格式化字符串漏洞_Python新型字符串格式漏洞分析及解决方案
  3. Dictionary,hashtable, stl:map有什么异同?
  4. 高级C语言教程-关键字和运算符
  5. div/span强制不换行
  6. 基于CNN的性别、年龄识别及Demo实现
  7. html里面Meta标签的使用
  8. java 假设当前时间_Java中与日期和时间相关的类和方法
  9. 从HTTP响应头看苹果国内用了哪家CDN及CDN高防DDOS技术
  10. 词向量算法—Word2Vec和GloVe
  11. 关机时无人照管更新正在运行_路辉物流设备:无人化分拣作业驱动物流业降本增效...
  12. iOS 面向切面编程与typhoon框架
  13. 实现选择文本时选中整个元素文本
  14. python之父:一个合格的python程序员,应该从这三本书入手!
  15. Linux系统中VCS、Dve Verdi的使用
  16. java calendar 比较大小_关于Java日期加减,并且比较大小的方法
  17. Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
  18. SCI 论文投稿之投稿信(Cover Letter)写法--附真实案例
  19. 机器学习(周志华)算法目录
  20. 刚子扯谈 活着 没那么简单

热门文章

  1. c++ || && 逻辑短路问题
  2. java的原生数据类型_Java中的8种原生数据类型(Primitive Data Types)分析
  3. apktool重新打包,error:No resource identifier found for attribute ‘compileSdkVersionCodename‘ in package
  4. 【APICloud系列|24】 MNNavigationMenu模块(导航菜单)的实现
  5. c语言程序整数四则运算,c语言中三个整数随机的四则运算
  6. CSS3的常用属性(一)
  7. AngularJS快速入门指南03:表达式
  8. canvas绘制经典折线图(一)
  9. MVC 之var与dynamic
  10. 课时3.浏览器访问网页原理(理解)