如何配置我的 vim 来帮助我找到术语的定义?
例如,当我遇到:
funcMiracle (argMagic);
我想按一个按钮,嗖的一声,我立即跳转到funcMiracle的定义,不管它是否在当前文件中。
For example, when I encounter:
funcMiracle (argMagic);
I want to press a button, and woosh, I immediately jump to the definition of funcMiracle, regardless of it is in the current file or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的计算机上安装exuberant ctags。然后,在命令行中,在项目根目录中:
在 Vim 中按 ctrl-[ 将跳转到符号的定义。跳转后,
ctrl-T
将带您回到刚刚来的地方。Install exuberant ctags on your machine. Then, from the command line, in your project root:
Pressing
ctrl-[
in Vim will then jump to the definition of the symbol. After the jump,ctrl-T
will take you back where you just came from.更新
自从我读到你的评论后:
看看 C-[
fgets
:)使用 man.vim 脚本 您还可以在 Vim 缓冲区内调用手册页,以便轻松复制/粘贴、突出显示、交叉引用,如
helptags
等。键:Leader -K再一次,
:he ^[^I
等是获得更多帮助/详细信息的好指针外部项目上的标签
您可以为外部项目生成标签(例如,linux 标头)使用
ctags
如之前所示(如下)。然后让 Vim 知道你的标签在哪里:注意
+=
:Vim 可以一次处理多个标签文件标准方法
:!ctags %
(或递归整个文件夹等:!ctags -R %:h
或:!ctags **/*.c< /code> 等)
:help Tags
以获取完整参考)如果您愿意,您可以将标签的构建集成到 makefile 中有一个。 Exuberant ctags 具有高度可配置性;我通常
与 C++ 一起使用,但它以零配置支持许多开箱即用的语言。
Updated
Since I read your comment:
Have a look at
fgets
:)With the man.vim script you can also summon the manpage inside a Vim buffer for easy copy/paste, highlighting, crossreference like with
helptags
etc. Key: Leader-KOnce again,
:he ^[^I
etc. are good pointers for more help/detailsTags on external projects
You can generate tags for an external project (say, linux headers) using
ctags
as shown earlier (below). It then a matter of letting Vim know where your tags are:Note the
+=
: Vim can handle multiple tags files at onceThe standard approach
:!ctags %
(or for recursive whole folder etc:!ctags -R %:h
or:!ctags **/*.c
etc):help tags
for complete reference)You can integrate the building of tags in your makefile if you have one. Exuberant ctags is highly configurable; I routinely use
for use with C++, but it supports many many languages out of the box with zero configuration.