首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim C++自动完成

Vim C++自动完成
EN

Stack Overflow用户
提问于 2010-08-11 12:22:43
回答 3查看 9.1K关注 0票数 9

如何在Vim中启用自动完成?

我试过这样做,但我不精通vimrc文件等等,所以没有成功。你能给我一步一步地指导怎么做吗?

编辑

我试着安装OmniCppComplete。按照说明,但是当我尝试使用它时,我会得到以下错误:

处理函数omni#cpp#complete#Main..24_InitComplete时检测到的错误: 第24行: E10:\应该后面跟着/,?或&

EN

回答 3

Stack Overflow用户

发布于 2010-08-11 12:32:04

在默认情况下,Vim将使用Ctrl或Ctrl完成基于文件中的单词的完成,这对于最近引用的局部变量等非常方便,并且适用于任何语言甚至普通文本的代码(便于完成难以拼写的名称)。然而,它没有在语义上或参考您正在编写的特定上下文中允许的实际类型的情况下这样做。为此,您需要安装ctag,然后在/usr/include类型中:

代码语言:javascript
复制
ctags -f ~/.vim/stdtags -R --c++-kinds=+p --fields=+iaS --extra=+q .

然后将其添加到.vimrc中:

代码语言:javascript
复制
set nocp
filetype plugin on
map <C-L> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR>

set tags=~/.vim/stdtags,tags,.tags,../tags

autocmd InsertLeave * if pumvisible() == 0|pclose|endif

这也将使Ctrl重新加载标记,从而从当前目录中获取新的自动完成标记。

票数 6
EN

Stack Overflow用户

发布于 2010-08-11 12:31:59

详细说明自动完成(archive.org)键入前几个字符,然后按Ctrl->P(用于反向搜索)或Ctrl->N(用于前向搜索),列出所有可用选项或完成它。

我使用vim7.2 (自动完成是在vim7中引入的),这些控件工作得很好。

票数 4
EN

Stack Overflow用户

发布于 2012-11-22 18:26:16

我最喜欢的是clang_complete 这里。安装起来非常容易,ReadMe文档中的默认配置也很好。您不需要生成标记,它会在可用时自动显示完整的选项。它还可以突出显示语法错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3458149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档