打造阅读Linux源代码利器,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的源代码?

1.精通C
2.懂汇编、计算机体系结构、操作系统原理
3.懂算法和数据结构
4.找一本介绍linux源代码的书看,按照书上的步骤做。
5.当然,你要有linux源代码,并且尽可能多地阅读相关文档。

www.oldlinux.org上有一个《linux内核源代码完全注释》的电子文档,是基于linux0.11版的内核注释的。我承认,由于对C的一知半解,加上没学过汇编和体系结构,算法和数据结构也勉勉强强,虽然只有1万行左右的代码,还是没能坚持把它看完。

要是你不喜欢看电子版的,该书已由机械工业出版社出版,你可以向出版社联系购买。
 

对于阅读LINUX源代码的问题

Linux是用c写的吧?既然不想用文本编辑器看的话开发C的IDE应该都可以看吧?也许还能调试呢
看书的话书应该讲得够详细阿
我也打算看呢,所以不久也会遇到同样的问题,不过C还没学精通,过段时间吧,我下了些Linux内核完全注释之类的资料
目前我用Eclipse CDT写C,可能到时候用它阅读Linux源代码
不过官网早已有
Eclipse IDE for C/C++ Developers, 87 MB了
下载地址:www.eclipse.org/downloads/
不知道楼主用什么写c呢
完了记得把解决方案共享一下噢
 

相关内容