ubuntu下阅读源码工具
安装ctags工具
sudo apt-get install ctags
使用方法如下:
将光标停留在你要查找的函数上面,然后 Ctrl + ] 组合就可以定位到函数定义的地方了,Ctrl + T 就会跳回初始的位置.
这里以linux源代码为例:这个是在电脑上的linux3.5的源代码/home/zshh/work/driver/kernel/linux35
进入到该目录.使用
<pre name="code" class="html">zshh@HP:~/work/driver/kernel/linux35_tiny4412$ ctags -R
完成之后会生成一个tags文件.
第二步:需要设置ctags文件的路径到/usr/share/vim/vimrc这个文件中添加一行.
vim /usr/share/vim/vimrc
添加如下配置:
set tag =/home/zshh/work/driver/kernel/linux35/tags
第三步:简单使用.
cd /home/zshh/work/driver/kernel/linux35
vim -t memset 会直接打开memset源代码文件.
先进入vim然后再检索
$>vim
在vim中进入命令行模式,键入如下内容:
:ta memset
此时,vim会自动跳转到memset定义的位置。如果有多个定义,ctags默认会显示多个数字选项,键入想要查看的数字即可;
有些ctags会默认直接显示第一个查到的定义,如果该定义并非我们想查找的,可以换用tselect命令:
:tselect memset
利用光标位置检索
在用vim编辑文件时,首先把光标定位到要查看的定义,按如下快捷键:
Ctrl + ] //查看定义
Ctrl + o //返回
上述两个命令支持递归操作
ubuntu下阅读源码工具相关推荐
- Linux下阅读源码工具
闲来无事,于是又想进到Linux内核里面去逛逛了,但是只装了个ctags的工具,虽然说它可以在源码中到处跳动查看代码,但是感觉应该会有更好的方法. 虽然说可以转到windows下面去使用SourceI ...
- 小白也能看懂的踩坑日记--ubuntu(rk3588)安装LXR(阅读源码工具)服务器
一.什么是LXR LXR是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法. 它支持很多种语言. LXR 曾经被作为 "Linux 交叉引用器 ...
- Ubuntu 下yuma源码安装
安装平台:ubuntu yuma官网下载yuma源码包:http://www.netconfcentral.org/download yuma版本:yuma-2.2-1.tar.gz yuma开源工具 ...
- ubuntu下android源码编译环境,ubuntu12.04 64位上搭建android源码编译环境
1.首先替换源为163的源,默认源下载速度太慢 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) sudo ...
- Ubuntu下lede源码的下载与编译
1.首先先配置lede源码编译环境 sudo apt-get update sudo apt-get upgrade sudo apt-get install build-esse ...
- Ubuntu下的源码浏览器Opengrok搭建 并集成LDAP认证登陆
-前言 很多做android开发的小伙伴都知道,快速检索代码的利器opengrok,检索代码非常方便,本人之前多次搭建opengrok,只不过最近迫于代码安全性考虑,终于搞定opengrok+tomc ...
- jdk源码分析书籍 pdf_如何阅读源码?
点击上方"IT牧场",选择"设为星标" 技术干货每日送达! 阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码. 首 ...
- 菜鸟程序员如何才能学会阅读源码
阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码. 首先来说下为什么要读源码,有学习源码的必要吗? 为什么要阅读源码? 关于为什么阅读和学习源码,我个人认 ...
- WSL Ubuntu 20.04下Android源码编译与导入Android Studio
源码下载见前文:WSL Ubuntu 20.04下Android源码下载 idegen 模块编译 在development/tools/idegen/README下可以看到关于 idegen 工具的相 ...
最新文章
- 半环(semiring)的数学概念
- 腾讯首席战略官詹姆斯: 从互联网信息的永久性和稀缺性看腾讯的投资逻辑
- mysql left join on_mysql,left join on
- 【UIKit】UITableView.02
- Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验
- 可编程智能小车,100种玩法,从3岁玩到15岁,培养孩子“最强大脑”
- [html] 如何设置打印尺寸?
- noip2014生活大爆炸版石头剪刀布
- ***linux下mysql的root密码忘记解决方法
- 简单梳理帆软报表即决策系统的登录步骤 一
- java运行python脚本_用Java运行Python脚本
- 力扣-1337. 矩阵中战斗力最弱的 K 行
- 如何优雅地给同事提“改进性建议”
- ROS 教程之navigation: 用程序设定导航目标点
- 净初级生产力(NPP)空间分布数据汇总整理
- 大地测量学白塞尔大地主题解算
- NRF51822---AD采样(连载5)
- Scrapy-2:东莞阳光政务平台
- 什么是STM32的ISP?
- 注册表(regedit)
热门文章
- Win7 时间不准不能自动同步,执行w32tm /register发生下列错误: 拒绝访问(0x80070005)
- 歪歪地区服务器维护,多玩歪歪语音旗下新行业挂yy服务器简要说明
- Tomcat详细使用步骤
- python 邮件之发信人和发信地址
- 分析了60款链游,发现40%的玩家都是机器人
- 使用拦截器或者AOP实现权限管理(OA系统中实现权限控制)
- php获取h5视频直链,一种H5播放实时视频的方法与系统与流程
- python分组求和_如何对某一列自动分组,统计求和
- 关系型数据库篇(MSSQL)
- 计算机组成与系统结构期末复习 第二章 2.2