打造阅读Linux源代码利器
打造阅读Linux源代码利器
在Linux里阅读/编写代码一般用vi
但是碰到较大的项目时阅读源代码还是比较费力,一直用find 和 grep命令。
其实,我们自己可以打造一个阅读源代码的vim,这样大大提高工作效率。
阅读源码利器组合:Vi + Ctags + taglist
以下为最终实现的效果图:

安装Ctags
Ctags可以到http://ctags.sourceforge.net下载。目前我下载的是ctags-5.8.tar.gz
tar -xvzf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make
make install
然后可到源码目录,用以下命令生成名位tags的索引文件:
ctags -R
这样以后,在该目录下可以这样使用vi
Ctrl + ] //查找光标下的标签,比如说函数或 结构体
Ctrl + t //返回跳转到标签文件前的上一个地方
这样是不是很方便呢。
关于ctags更详细的用法,可以ctags –help 或者 man ctags
安装taglist插件
我下载的zip包名称为:taglist_45.zip
把它copy到 ~/.vim/下面,如果没有~/.vim目录,可以自己新建一个:
mkdir -p ~/.vim/plugin
cd ~/.vim
mkdir after
mkdir colors
mkdir doc
mkdir ftplugin
mkdir syntax
然后:
unzip taglist_45.zip
这会在你的~/.vim/plugin和~/.vim/doc目录中各放入一个文件:
plugin/taglist.vim – taglist插件
doc/taglist.txt - taglist帮助文件
这样文档和插件都安装好了。
Taglist提供了相当多的功能,我的taglist.vim中这样配置:
""""""""""""""""""""""""""""""
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
阅读源码
配置好之后,随意打开一个c源码文件。
输入以下命令就可以调出taglist
TlistOpen
输入以下命令可以关闭taglist
TlistClose
光标从 vi 和 taglist之间相互切换
Ctrl + ww (注意是两个w)
在taglist窗口中,可以使用下面的快捷键:
<CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
<Space> 显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
<F1> 显示帮助
打造阅读Linux源代码利器的更多相关文章
- 非常好!!!Linux源代码阅读——内核引导【转】
Linux源代码阅读——内核引导 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 目录 Linux 引导过程综述 BI ...
- 非常好!!!Linux源代码阅读——环境准备【转】
Linux源代码阅读——环境准备 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/0_prepare.html 目录 Linux 系统环境准备 ...
- 非常好!!!Linux源代码阅读——中断【转】
Linux源代码阅读——中断 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/2_int.html 目录 为什么要有中断 中断的作用 中断的处 ...
- 阅读 Linux 内核源码
阅读Linux Kernel Source Code 假如你在Linux系统下面阅读Linux内核源代码,那么需要准备一些工具. ①Linux的内核源码 内核源码的下载地址:Index of /pub ...
- Linux 源代码在线(http://lxr.linux.no/linux/)。
LXR 是一个通用的源代码索引器和交叉引用器 它提供了一个基于 web 的可浏览任意定义以及任意标识的用法. 它支持很多种语言. LXR 曾经被作为 “Linux 交叉引用器” 但是已经被证明它可以用 ...
- 阅读linux内核代码的工具-- Source Insight
http://blog.csdn.net/luckyaslan/article/details/7869235 Step 1:安装Source Insight并启动程序 可以进入图1界面,在工具条上有 ...
- linux 源代码目录结构
Linux源代码目录树结构 (2008-04-21 09:14) 分类: Linux/Unix Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大 ...
- Linux装机利器Cobbler安装配置
Linux装机利器Cobbler安装配置 2011-05-27 15:31:05 分类: LINUX 一.安装环境 centos 5.4 关掉iptables 关掉 selinux selinux ...
- 如何高效的阅读hadoop源代码?
个人谈谈阅读hadoop源代码的经验. 首先,不得不说,hadoop发展到现在这个阶段,代码已经变得非常庞大臃肿,如果你直接阅读最新版本的源代码,难度比较大,需要足够的耐心和时间,所以,如果你觉得认真 ...
随机推荐
- HDU 题目分类收集
并查集题型简单并查集1213 How Many Tables 1232 畅通工程 (杭电简单的并查集不是很多) 简单最小生成树1233 还是畅通工程 1863 畅通工程 1874 畅通工程再续 187 ...
- javascript之全局函数
一.eval() //执行一段字符串中的javascript代码. 语法:eval(code); //可以将javascript写在字符串里面执行. var str = "document. ...
- IE input X 去掉文本框的叉叉和密码输入框的眼睛图标
从IE 10开始,type="text" 的 input 在用户输入内容后,会自动产生一个小叉叉(X),方便用户点击清除已经输入的文本对于type="password&q ...
- WPF & ArcGIS Engine三维开发入门攻略
原文 http://www.cnblogs.com/Realh/archive/2010/12/14/1906112.html 前些日子在做ESRI的开发大赛,从刚开始接触ArcGIS Engine( ...
- 中国版 Ubuntu Kylin 14.04 LTS 麒麟操作系统中文版发布下载 (Ubuntu天朝定制版)
中国版 Ubuntu Kylin 14.04 LTS 麒麟操作系统中文版发布下载 (Ubuntu天朝定制版) http://www.iplaysoft.com/ubuntukylin.html
- tomcat那些事
Tomcat7.0.22安装配置 1.下载tomcat7.0.22 下载地址:http://tomcat.apache.org/download-70.cgi 2.添加系统环境变量,我的电脑-> ...
- Linux进程通信----匿名管道
Linux进程通信中最为简单的方式是匿名管道 匿名管道的创建需要用到pipe函数,pipe函数参数为一个数组表示的文件描述字.这个数组有两个文件描 述字,第一个是用于读数据的文件描述符第二个是用于写数 ...
- find命令笔记
find 命令: 文件查找:locate: 非实时,模糊匹配,查找是根据全系统文件数据库进行的:# updatedb, 手动生成文件数据库速度快 find: 实时 精确 支持众 ...
- 记事本写hello world_Java
1 新建记事本,重命名为hello.java 2 打开hello.java,编辑并保存 class Hello { public static void main(String[] args) { S ...
- Socket 相关的知识
1.关于PF_INET和AF_INET的区别 在写网络程序的时候,建立TCP socket: sock = socket(PF_INET, SOCK_STREAM, 0);然后在绑定本地地址或连接远程 ...