Vim - 显示数据类型

11
通常我在Vim中编写大部分C项目。我熟悉使用Ctags/Cscope进行导航、搜索和替换以及索引。
如果可能的话,我想要一个功能是一个按键映射,可以在屏幕上显示光标下变量的数据类型。
例如,如果我的光标在变量“test123”上(即:int test123 = 0),是否有一种方法可以在Vim的另一个选项卡中显示该变量的类型(int)和其他一些详细信息?
此外,是否有类似的东西,可以对结构体变量执行相同的操作,并在描述选项卡中显示其所有成员列表以及类型(例如:struct)?
我还注意到,有时在编码时,我会在Vim顶部看到一个名为“[Scratch] [Preview]” 的选项卡,似乎满足此要求,但我不知道是什么触发了它(搜索和Ctag搜索似乎都不会触发它)。它看起来像这样:
name: myStruct::instanceOfStrct|  2 cmd: /^   int instanceOfStrct;$/
.. (up a dir)                  |  3 kind: m
</code/test/test.c             |  4 struct:   myStruct
|+config/                      |  5 access:   public
|+lib/                         |  6 filename: /code/test/test.c

我认为这在某种程度上已经存在于Vim中,但我不知道如何使用它。

谢谢。

1个回答

2
我不知道有任何插件可以满足您的需求,但是使用 libclang 应该是完全可能的。有一个 Clang Complete 的分支 添加了“转到定义”功能,接近您想要的功能。但是,该插件的开发似乎已经停滞。

此外,在进行自动完成时,会出现临时缓冲区以提供有关特定完成的更多信息。可以使用 completeopt 设置启用和禁用它。


1
哦,我已经可以通过Ctags(即:CTRL+])跳转到变量的声明,并再次通过CTRL-]跳转到变量类型的定义,但是不必来回跳转会更好。我知道历史记录快捷键(CTRL-o,CTRL-i)可以使操作最小化,但将该信息保留在屏幕上会更好。因此,自动完成功能创建了临时缓冲区。好的,知道了!谢谢!+1 - Cloud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接