BBS水木清华站∶精华区
发信人: althea (痛并快乐着), 信区: Linux
标 题: Re: linux源代码的阅读(转载)
发信站: BBS 水木清华站 (Sat Apr 22 18:54:08 2000)
en,再补充一下怎么在vim里面用id-utils吧, 是从vim的help里面找到的
7.2 Using :grep with id-utils
You can set up :grep to work with the GNU id-utils like this:
> set grepprg=lid\ -Rgrep\ -s
> set grepformat=%f:%l:%m
then
> :grep (regexp)
works just as you'd expect.
(provided you remembered to mkid first :)
我试了一下,
set grepprg=gid
grepformat不修改, 也可以用
典型的用法示例:
cd sourcetree
mkid
vim
然后在vim里面敲
:set grepprg=gid
:grep myfunc
这样就可以找到所有myfunc的定义和调用, 接着可以用
:cn
和
:cp
来跳到定义和调用的地方
:cl 可以列出所有找到的地方
BTW, cn, cp, cl是vim里面的quickfix命令, 本来是配合make使用的, 也可以配合grep
【 在 althea (痛并快乐着) 的大作中提到: 】
∶ vi+ctags前面有文章讲过了
∶ emacs+etags实际上是类似的, 先用etags为source tree生成TAGS文件
∶ 然后在emacs里面用M-.来查找函数及变量的定义
∶ id-utils可以查到某个函数的调用情况, 先用mkid生成ID文件, 然后
∶ gid xxx就行了. 如果在emscs里面, 可以使用id-utils带的lisp代码
∶ 来运行gid, 找到某个函数的所有引用情况后, 用C-x `就可以直接跳
∶ 到调用的地方
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.179.14]
BBS水木清华站∶精华区