vim 7.0版本以上内置了自动补全,快捷键和omnicppcomplete一样。
都是ctrl+x ctrl+o(智能补全)
或ctrl + n
或ctrl+p ,
或是 ctrl+x ctrl+f(补全文件名)
ctrl+x是进入一种模式。
但是如果omnicppcomplete插件,是无法做到 输入 “." “->"自动智能补全的。
stl的自动补全需要下载STL源码,然后会STL源码产生tags文件,然后把这个文件写到vimrc中就可以啦。
ctrl + ]只能进入有定义的函数,不能进入只有声明的函数。
确保已关闭了vi兼容模式,并允许进行文件类型检测:
set nocp
filetype plugin on
生成标签文件
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
在对C++文件进行补全时,OmniCppComplete插件需要tag文件中包含C++的额外信息,因此上面的ctags命令不同于以前我们所使用的,它专门为C++语言生成一些额外的信息,上述选项的含义如下:
--c++-kinds=+p : 为C++文件增加函数原型的标签
--fields=+iaS : 在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)
--extra=+q : 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全