LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1602|回复: 10

如何使用VI快速找到某个函数的定义所在的文件?

[复制链接]
发表于 2006-8-26 17:46:17 | 显示全部楼层 |阅读模式
我使用VI看代码,经常看到一个自定义函数后,不知道去哪里找定义它的源文件。用VI把目录下每一个源文件打开检查也太麻烦了。

我是新手,不过应该有很方便的方法吧?
发表于 2006-8-26 18:41:47 | 显示全部楼层
先在源程序目录执行

  1. $ctags *
复制代码


然后在vim里面,对于叫func的函数,用

  1. :tag func
复制代码

或直接把当标移动到某函数名称上然后ctrl+]就可以去那个函数的定义。想后退就ctrl+T。
想在一个新窗口中查看定义就ctrl+W]
回复 支持 反对

使用道具 举报

发表于 2006-8-26 19:42:45 | 显示全部楼层
顺便问下一个简单的问题:
   如何将一个文件的内容全部插入到另一个文件指定的某行?比如将其中一个文件的内容插入到另一文件的20行。
   或者如何指定一个文件从几行到几行的内容插入到另一文件的第几行?
这个命令是怎么样的?
   好像要用到sed之类的,但一时找不到,所以在这求个解答
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-26 20:50:20 | 显示全部楼层
多谢mingfal,果然很方便。
回复 支持 反对

使用道具 举报

发表于 2006-8-27 01:00:59 | 显示全部楼层
注意, vi 不可以, 需要要 vim

vi 命令在很多发行里只是个到其他命令的 alias  , 未必是 vim ,
所以直接说明 vim 更好。
回复 支持 反对

使用道具 举报

发表于 2006-8-27 05:39:03 | 显示全部楼层
And my questions?
Anybody?
回复 支持 反对

使用道具 举报

发表于 2006-8-27 07:05:17 | 显示全部楼层
Post by mwmb2
我使用VI看代码,经常看到一个自定义函数后,不知道去哪里找定义它的源文件。用VI把目录下每一个源文件打开检查也太麻烦了。

推荐 cscope,用上就爱不释手了。。。
回复 支持 反对

使用道具 举报

发表于 2006-8-27 07:15:09 | 显示全部楼层
Post by sumargin
顺便问下一个简单的问题:
   如何将一个文件的内容全部插入到另一个文件指定的某行?比如将其中一个文件的内容插入到另一文件的20行。
   或者如何指定一个文件从几行到几行的内容插入到另一文件的第几行?
这个命令是怎么样的?
   好像要用到sed之类的,但一时找不到,所以在这求个解答

我的方法是用 vim 同时打开另一个文件,然后 nyy, 回到原来的文件,p。
应该还有更好的方法,我不知道。
忘了告诉你,我用了 minibufexpl.vim 插件,可以在多个文件切换。vim7.0 已经有这个功能了。
回复 支持 反对

使用道具 举报

发表于 2006-8-27 07:50:24 | 显示全部楼层
我记得好像是awk或者不知道是什么命令可以有这种功能
但一时不知哪里找,???
回复 支持 反对

使用道具 举报

发表于 2006-8-27 08:23:54 | 显示全部楼层
Post by sumargin
我记得好像是awk或者不知道是什么命令可以有这种功能
但一时不知哪里找,???

应该是 sed,只是我懒得学,懒呐。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表