linux下使用vim快速阅读源码
背景
0.最近为了学习linux内核的数据结构,需要阅读linux内核,代码量比较大些,想起来几年前阅读android源码时的工具用来还算比较顺手,就想配置下接着继续来用。
1.软件的安装,略过linux和vim的安装,如果这些东西你都没有安装,或许这个博客你根本不需要看的,
具体就是linux,vim+ctags,配置过程如下:
直接安装ctags:pacman -S ctags
安装taglist:https://sourceforge.net/projects/vim-taglist/files/vim-taglist/4.6/taglist_46.zip/download 下载压缩包,将压缩包解压到/.vim目录,解压后会在/.vim目录中生成几个子目录,如plugin和doc,进入~/.vim/doc目录,在Vim下运行"helptags ."命令安装taglist的文档,这样后期就可以通过在Vim中运行“help taglist.txt”查看taglist帮助了。
2.配置vim配置文件,添加以下两行:
set tags+=./tags //设置目录位当前目录,也可以像下面的行那样指定目录
"set tags+=~/linux-5.10.59/ //这样不够灵活
set autochdir //自动设置目录
3.进入项目目录,例如:~/linux-5.10.59, cd ~/linux-5.10.59
生成数据库文件tags,命令:ctags -R ,如果文件比较多,tags文件也可能非常大,我这里是linux内核源码1.0G,tags文件680多兆,生成比较慢,需要耐心等待
4.查看特定文件内的符号、函数等,直接用vim打开文件,底行输入::TlistToggle,打开taglist窗口,
如途中所示,列出了macro和function主要是当前文件下的一切,如果在此查看WRITE_ONCE,无法查到,结果:E426: 找不到 tag: WRITE_ONCE
5.使用vim -t tag,直接打开包含tag的文件,并定位到所在的行,上一行的解决办法:vim -t WRITE_ONCE
很明显,不但打开了文件,而且自动定位到WRITE_ONCE的那一行,此处位59行,妈妈再也不用担心我不能查到函数或变量等了。
vim中taglist的配置方法:
启动vim,用 “:helptags .”来配置好帮助文件
重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
可以用“:help taglist”来获得更多帮助信
若要默认打开taglist,_vimrc中加入
let Tlist_Auto_Open=1
set tags=tags; “这里的;不能省略
set autochdir
API定义了源码接口,而ABI定义了两个软件模块在特定体系结构上的二进制接口。它定义了应用内部如何交互,应用如何与内核交互,以及如何和库交互。API保证了源码兼容,而ABI保证了“二进制兼容(binary compatibility)”,确保对于同一个ABI,目标代码可以在任何系统上正常工作,而不需要重新编译。
这篇文章也不错,建议看看:https://www.cnblogs.com/tsingke/p/4214862.html
相关文章
- linux中的oracle数据库
- linux编译安装mysql5.1.x
- linux中利用iptables+geoip过滤指定IP
- How to use udev for Oracle ASM in Oracle Linux 6 怎样使用udev在linux 6系统上使用asm
- Linux基础之linux服务器服务器间拷贝文件
- centos8(linux):通过源码编译安装imagemagick7(ImageMagick 7.1.0-51)
- linux debian/ubuntu apt常用命令
- linux vim可视模式、末行模式、保存退出快捷操作
- Linux 0.11-最开始的两行代码-01
- Linux下常用的编辑文件与保存命令
- centos防火墙操作firewalld and systemctl 打开linux端口的shell脚本
- L80.linux命令每日一练 -- 第11章 Linux系统管理命令 -- ntsysv和setup
- L51.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkfs和dumpe2fs
- L49.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- fdisk和partprobe
- L2.linux命令每日一练 -- 第一章 Linux命令行简介
- Linux系统shell脚本之统计文本
- 第十三章 linux-中断-中断控制器(GIC)
- 74:应急响应-win&linux分析后门&勒索病毒&攻击 ==》暴力破解攻击成功的在4624的eventID里!PChunter可查看非系统的可疑启动项/服务/定时任务,还是很直观的!Linux下gscan也不错,EDR可参考。
- linux===给新手的 10 个有用 Linux 命令行技巧(转)
- Linux 命令集合
- ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发
- 操作系统权限提升(十九)之Linux提权-SUID提权