Vim clang_complete自动弹出窗口

时间:2013-05-30 14:53:20

标签: vim autocomplete macvim clang-complete

使用XCode一段时间(几年)之后,我正试图转移到MacVim进行开发/代码编辑。大多数情况下,我这样做是因为我正在启动一些非obj-c项目,我不想继续在代码编辑器之间切换。

我已经使用一些方便的插件设置了MacVim:

  • Janus(我知道这是一大堆插件)
  • cocoa.vim
  • clang_complete,这对我来说是最重要的,因为它模仿了XCode的代码完成。

到目前为止一切正常,但我似乎无法将其配置为自动弹出完成框。每次我想查看代码完成时,我都必须使用“tab”。在输入一个单词的一定数量的字符后,我宁愿打开它,比如3个字符。我已经搜索了一段时间(几个小时),但一直无法让它工作。

任何帮助将不胜感激。谢谢!
这是我的.vimrc文件:

""
"" Janus setup
""

" Define paths
let g:janus_path = escape(fnamemodify(resolve(expand("<sfile>:p")), ":h"), ' ')
let g:janus_vim_path = escape(fnamemodify(resolve(expand("<sfile>:p" . "vim")), ":h"), ' ')
let g:janus_custom_path = expand("~/.janus")

" Source janus's core
exe 'source ' . g:janus_vim_path . '/core/before/plugin/janus.vim'

" You should note that groups will be processed by Pathogen in reverse
" order they were added.
call janus#add_group("tools")
call janus#add_group("langs")
call janus#add_group("colors")

""
"" Customisations
""

if filereadable(expand("~/.vimrc.before"))
  source ~/.vimrc.before
endif


" Disable plugins prior to loading pathogen
exe 'source ' . g:janus_vim_path . '/core/plugins.vim'

""
"" Pathogen setup
""

" Load all groups, custom dir, and janus core
call janus#load_pathogen()

 colorscheme Wombat256

 "clang_autocomplete options
 set conceallevel=2
 set concealcursor=vin
 let g:clang_use_library=1
 let g:clang_library_path='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib'
 let g:clang_complete_auto=1
 let g:clang_periodic_quickfix=1
 let g:clang_snippets=1
 let g:clang_conceal_snippets=1
 let g:clang_snippets_engine='clang_complete'
 " Show clang errors in the quickfix window
 "let g:clang_complete_copen = 1
 set completeopt=longest,menuone,preview

1 个答案:

答案 0 :(得分:1)

这可以使用AutoComplPopvimscripts, old / Github, somewhat old)来实现 还可以设置在尝试关键字完成之前需要输入的字符数。

let g:acp_behaviorKeywordLength = 3

请注意,较新的版本需要L9 library。 vimscripts的旧版本没有。
这有点令人困惑,因为所有不同的网站(vimscripts,github,bitbucket)都有不同的版本。

使用您喜欢的插件管理器安装插件 我个人更喜欢Vundle,但Janus使用病原体。