例如,当我遇到:
funcMiracle (argMagic);
我想按下一个按钮,然后我立即跳转到funcMiracle的定义,无论它是否在当前文件中。
答案 0 :(得分:3)
在您的计算机上安装 exuberant ctags 。然后,从命令行,在项目根目录中:
ctags -R
按下Vim中的ctrl-[
,然后跳转到符号的定义。跳跃后,ctrl-T
会将你带回原来的地方。
答案 1 :(得分:2)
<强>更新强>
我读了你的评论:
问题是,虽然它可以帮助我在项目中找到任何函数,但它不会自动找到我可能从头文件链接的外部函数,例如,stdio.h中fgets()的定义
看看
fgets
:)使用man.vim script,您还可以在Vim缓冲区内召唤联机帮助页,以便轻松复制/粘贴,突出显示,与helptags
等交叉引用。键: Leader-K
再次,:he ^[^I
等是更多帮助/细节的好指针
您可以使用ctags
为外部项目(例如,linux标头)生成标签,如前所示(如下所示)。然后让Vim知道你的标签在哪里:
:se tags+=/usr/src/linux/tags
请注意 +=
:Vim可以同时处理多个代码文件
标准方法
:!ctags %
(或递归整个文件夹等:!ctags -R %:h
或:!ctags **/*.c
等):help tags
以获取完整参考资料)如果有的话,可以在makefile中集成标记的构建。丰富的ctags是高度可配置的;我经常使用
ctags --exclude=packagedir -R --c++-kinds=+p --fields=+iaS --extra=+q
用于C ++,但它支持许多开箱即用的语言,零配置。