因为她是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
原文链接