问题描述
有什么办法可以在VIM(gvim)中启用智能感知。我希望将其用于STL。
最佳方法
请原谅我先纠正您,但是IntelliSense是Microsoft Visual Studio中高级代码完成的名称,而不是代码完成的总称。
要回答您的问题,您可能需要使用YouCompleteMe。使用vim插件管理器进行安装不是很困难,但是不要忘记运行用于编译YCM编译组件的shell脚本。仔细阅读文档,可以避免大多数最初的问题。
次佳方法
设置ctags数据库以与omnicppcomplete一起使用
为stdlibc ++和STL创建标签
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/stdlibcpp /usr/include/c++/4.2.4/
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/boost /usr/include/boost/
$ apt-file list libc6-dev | grep -o '/usr/include/.*h'> ~/.vim/tags/libc6-filelist
$ ctags --c++-kinds=+p --fields=+iaS --extra=+q -I__wur -I__THROW -I__nonnull+ -f ~/.vim/tags/libc6 -L ~/.vim/tags/libc6-filelist
以下是三个您会发现有用的链接:
OmniCppComplete : C/C++ omni-completion with ctags database
第三种方法
coc似乎很有前途,将Intellisense与vim(8.0及更高版本)和neovim集成在一起