如何在Vim中启用自动完成功能?
我试着这样做,但我不熟悉vimrc文件等,所以它没有用.你能给我一步一步说明如何做到这一点吗?
编辑
我尝试安装OmniCppComplete.按照说明操作,但是当我尝试使用它时,我收到以下错误:
处理函数omni时检测到错误#cpp #complete#Main..24_InitComplete:
第24行:
E10:\应该跟/,?要么 &
默认情况下,Vim 将使用 Ctrl-N 或 Ctrl-P 根据文件中的单词完成补全,这对于最近引用的局部变量等很方便,并且适用于任何语言甚至普通文本的代码(对于完成难以拼写的名称很方便)。但是,它不会在语义上或参考您在编写的特定上下文中允许的实际类型来执行此操作。为此,您需要安装 ctags,然后在 /usr/include 中键入:
ctags -f ~/.vim/stdtags -R --c++-kinds=+p --fields=+iaS --extra=+q .
Run Code Online (Sandbox Code Playgroud)
然后将其添加到您的 .vimrc 中:
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
Run Code Online (Sandbox Code Playgroud)
这也将使 Ctrl-L 重新加载标签,从而从当前目录中选取新的自动完成标签。
详细说明自动完成 (archive.org)输入前几个字符,然后按 Ctrl->P(向后搜索)或 Ctrl->N(向前搜索),列出所有可用选项或完成它。
我使用 vim7.2(vim7 中引入了自动完成),这些控件工作得很好。