如何配置我的vim来帮助我找到术语的定义?
例如,当我遇到:如何配置我的vim来帮助我找到术语的定义?,vim,Vim,例如,当我遇到: funcMiracle (argMagic); 我想按下一个按钮,哇,我立即跳转到funcMiracle的定义,不管它是否在当前文件中。已更新 既然我读了你的评论: 问题是,尽管它可以帮助我找到项目中的任何函数,但它不会自动找到我可能从头文件链接的外部函数,例如stdio.h中fgets()的定义 看看 C-[C-I用于包含文件搜索 C-[d用于定义和查找 Shift-K打开光标下标识符的手册页(例如,fgets:) 使用,您还可以在Vim缓冲区内调用手册页,以便轻松复制
funcMiracle (argMagic);
我想按下一个按钮,哇,我立即跳转到funcMiracle的定义,不管它是否在当前文件中。已更新 既然我读了你的评论:
问题是,尽管它可以帮助我找到项目中的任何函数,但它不会自动找到我可能从头文件链接的外部函数,例如stdio.h中fgets()的定义 看看
- C-[C-I用于包含文件搜索
- C-[d用于定义和查找
- Shift-K打开光标下标识符的手册页(例如,
:)fgets
帮助标签等。键:Leader-K
再一次,:他^[^I
等是获得更多帮助/详细信息的好方法
外部项目上的标记
您可以使用前面(如下)所示的ctags
为外部项目(比如linux头)生成标记
:se tags+=/usr/src/linux/tags
注意:Vim可以一次处理多个标签文件
标准方法
安装(如果没有),ctags
:!ctags%
(或用于递归整个文件夹等:!ctags-R%:h
或:!ctags**/*.c
等)
使用标记(C-]或Ctrl鼠标按钮,请参见:帮助标记以获取完整参考)
如果有,你可以在你的makefile中集成标签的构建
ctags --exclude=packagedir -R --c++-kinds=+p --fields=+iaS --extra=+q
用于C++,但它支持许多不同于零配置的语言。
< P> <强>更新< /强>
既然我读了你的评论:
问题是,尽管它可以帮助我找到项目中的任何函数,但它不会自动找到我可能从头文件链接的外部函数,例如stdio.h中fgets()的定义
看看
- C-[C-I用于包含文件搜索
- C-[d用于定义和查找
- Shift-K打开光标下标识符的手册页(例如,
fgets
:)
使用,您还可以在Vim缓冲区内调用手册页,以便轻松复制/粘贴、突出显示、交叉引用,如使用帮助标签等。键:Leader-K
再一次,:他^[^I
等是获得更多帮助/详细信息的好方法
外部项目上的标记
您可以使用前面(如下)所示的ctags
为外部项目(比如linux头)生成标记
:se tags+=/usr/src/linux/tags
注意:Vim可以一次处理多个标签文件
标准方法
安装(如果没有),ctags
:!ctags%
(或用于递归整个文件夹等:!ctags-R%:h
或:!ctags**/*.c
等)
使用标记(C-]或Ctrl鼠标按钮,请参见:帮助标记以获取完整参考)
如果有,你可以在你的makefile中集成标签的构建
ctags --exclude=packagedir -R --c++-kinds=+p --fields=+iaS --extra=+q
使用C++,但它支持许多配置为零的框外的语言。 < P>在机器上安装繁琐的CTAGS。然后,从命令行中,在项目根目录中:
ctags -R
在Vim中按ctrl-[
将跳转到符号的定义。跳转后,ctrl-T
将带您回到刚才的位置。在您的计算机上安装exuberant CTAG。然后,从命令行在项目根目录中:
ctags -R
按ctrl键-Vim中的[
随后将跳转到符号的定义。跳转后,ctrl-T
将带您回到您刚来的地方。问题是,虽然它可以帮助我找到项目中的任何函数,但它不会自动找到我可能从头文件链接的外部函数,例如,fget的定义以下是为外部库设置CTAG的指南:问题是,尽管它可以帮助我在项目中查找任何函数,但它不会自动查找我可能从头文件链接的外部函数,例如,fgets()的定义在stdio.h中,这里有一个为外部库设置CTAG的指南:我希望我现在更好地理解了你的问题我希望我现在更好地理解了你的问题