漫步在内核代码中的emacs

来源:Linuxeden 作者:c-aries
    刚来Linux的时候就想找机会学习GNU Emacs。
因为她是RMS大叔的御用编辑器,第一个GNU自由软件,历经三十余年的淬炼已经成为黑客文化的一种象征。
两周前blackspace写了一篇文章--<<一分钟学会emacs>>,在他的影响之下我便开始学习emacs。

用了两天阅读emacs自带的入门教程,经常两周的编程实践,还有两个钟的带病复习,渐渐习惯并喜欢上emacs。
做梦都想着ctrl+n ctrl+l的操作,一天不打开emacs按按键盘会觉得浑身不起劲。
她不只是一个工具,还是一种文化、情愫。
打开emacs22,默认的页面中,有gnu/linux相关的链接。


最近在学设备驱动程序,阅读代码的过程中,又学会了些emacs阅读代码的操作。
比如:

1)当前目录下,建立.c.h.S等后缀文件的tag table
打开emacs,运行 M-! etags *.[chS]
自动生成TAGS文件在当前目录

2)加载tag table的两种方法
临时加载:找开emacs,运行M-x visit-tags-table,再输入TAGS文件的位置
运行emacs时自动加载:在~/.emacs配置文件中写入
(setq tags-table-list '("TAGS文件的位置"))

3)阅读代码时,寻找tags的基本操作
M-. 跳至相应的函数定义处
C-u M-. 如果找错了,找下一个
M-* 返回刚才的函数名处
C-M-. 输入,跳至输入相应的函数定义处

注:C指ctrl,M一般指alt

接着,我想阅读内核代码的时候就遇到问题了,tag table文件怎么制作?
后来发现内核代码顶层目录的Makefile已经提供了emacs tags的选项
代替上面的1)操作,在内核代码顶层目录下,运行make TAGS,当前目录将生成TAGS文件适合于emacs使用

以后,每次阅读设备驱动代码的时候,在要查询函数名的位置按M-.,就能直接跳到内核相关的函数实现。
 

时间:2009-08-02 14:51 来源:Linuxeden 作者:c-aries 原文链接

好文,顶一下
(18)
94.7%
文章真差,踩一下
(1)
5.3%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量