Vim - 显示数据类型

Clo*_*oud 11 c ide vim

我通常在Vim中编写大部分C项目.我很熟悉导航,搜索和替换,以及通过Ctags/Cscope进行索引.

如果可能的话,我想要的一个功能是键映射,它将在屏幕上的光标下显示变量的数据类型.

例如,如果我的光标在一个变量上,"test123"(即:int test123 = 0)有没有办法让类型(int)和其他一些关于Vim中另一个标签中显示的变量的细节?

此外,是否存在类似于结构变量的相似内容,并在描述性选项卡中显示其所有成员的列表以及类型(即: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
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Dav*_*own 2

我不知道有什么插件可以满足您的要求,但是使用libclang应该是完全可能的。有一个clang_complete 的分支,它添加了“转到定义”功能,这接近您想要的功能。然而该插件的开发似乎已经停滞不前。

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