4

我正在尝试设置 vim,以便当我编辑 C 或 C++ 文件时,它使用YouCompleteMe插件来完成,而其他一切都使用NeoComplCache

我从spf13 vim 配置的 v3.0 开始。

我已将以下内容添加到我的.vimrc.bundles.local

Bundle 'Valloric/YouCompleteMe'

我已将以下内容添加到我的.vimrc.local

let g:ycm_filetype_whitelist = { 'c': 1, 'cpp': 1 }
let g:neocomplcache_force_overwrite_completefunc = 0

这似乎会为除 C/C++ 之外的所有内容禁用 YouCompleteMe,但是我不确定如何根据文件类型禁用 NeoComplCache。我努力了:

autocmd FileType c,cpp :NeoComplCacheDisable

但是,在您在缓冲区中执行某些操作之前,似乎 NeoComplCache 并未真正启用。在 vim 中打开 C 或 C++ 文件时需要什么样的配置才能禁用 NeoComplCache?

4

2 回答 2

2

以下是我为我.vimrc禁用 NeoCompleCache 的方法:

" Disable NeoComplCache for certain filetypes
if has('autocmd')
  autocmd FileType pandoc,markdown nested NeoComplCacheLock
 endif

参考:

于 2013-12-09T00:26:27.977 回答
2

这是我用来编辑 markdown 文件的工具,它也应该适用于 c,cpp。

" Turn off completion, it's more disruptive than helpful
function! s:markdown_disable_autocomplete()
  if &ft ==# 'markdown'
    :NeoComplCacheLock
  endif
endfunction
autocmd MyAutoCmd BufEnter * call s:markdown_disable_autocomplete()
于 2013-03-26T00:08:37.977 回答