Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim CTAG是否包含外部函数作为函数原型?_Vim_Ctags_Omnicppcomplete - Fatal编程技术网

Vim CTAG是否包含外部函数作为函数原型?

Vim CTAG是否包含外部函数作为函数原型?,vim,ctags,omnicppcomplete,Vim,Ctags,Omnicppcomplete,我是一个新手,使用vim作为C的IDE。 我已经安装了c-vim、omnicpmpletion、ctags和其他有用的插件 然而,OmniCPCompetition基于ctags数据库, 但CTAG似乎不能很好地处理读/写/套接字之类的函数 我在Arch box中使用以下命令构建标记: $pacman-Qql glibc|grep\.h$>/tmp/filelist\u c;ctags-L/tmp/filelist_c--c-gends=+px--fields=+iaS--extra=+q 但是

我是一个新手,使用vim作为C的IDE。 我已经安装了c-vim、omnicpmpletion、ctags和其他有用的插件

然而,OmniCPCompetition基于ctags数据库, 但CTAG似乎不能很好地处理读/写/套接字之类的函数

我在Arch box中使用以下命令构建标记:
$pacman-Qql glibc|grep\.h$>/tmp/filelist\u c;ctags-L/tmp/filelist_c--c-gends=+px--fields=+iaS--extra=+q

但是,诸如write、socket之类的函数不在标记中。 我知道这些函数是头文件中的外部函数,但完成这些操作只需要参数列表和函数,甚至外部函数都有足够的信息


关于制作还包含外部函数的标记的任何想法?

头文件
*.h
ctags
称为
C++
文件,因此,实现所需功能的最简单方法是将以下选项添加到ctags命令行:

--c++-classes=+p+l


还有,为什么不使用专门为管理Vim中的CTAG而设计的插件呢?

谢谢,但是add--c++-kinds=+p+l也不起作用。我会尝试Indexer。它应该可以工作,我刚刚测试过。我创建了包含以下内容的文件
test.h
extern void my_func(inta,intb),我通过以下命令执行ctags:
ctags--c++-kinds=+p./test.h
。生成的标记文件包含以下行:
my_func./test.h/^extern void my_func(int a,int b);$/;“p
对不起,我知道这应该可以。但我需要的是完成系统调用,如socket()、connect()。即使没有任何额外的ctags参数,用户定义的函数也已经可以为我工作了。