【发布时间】:2013-03-25 06:49:55
【问题描述】:
我正在尝试设置 vim,这样当我编辑 C 或 C++ 文件时,它使用 YouCompleteMe 插件完成,而其他所有内容都使用 NeoComplCache。
我从 spf13 vim configuration 的 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?
【问题讨论】:
-
let g:neocomplcache_disable_auto_complete = 1呢? -
@romainl 不起作用。
completefunc=neocomplcache#manual_complete第一次插入操作后。 -
现在我记得为什么我决定不使用那个插件了。
-
@alanxz:你能发布你的最终解决方案吗?
-
@BenC:terryma 的解决方案不起作用,因为 :NeoComplCacheLock 无法正确恢复omnifunc 和complfunc。我认为我拥有的解决方案是调用此函数:NeoComplCacheDisable,但由于 NCC 的延迟初始化(它在 CursorHold 和 CursorHoldI 上初始化)这不起作用,因为此时未启用 NCC。底线:仍在寻找解决方案。
标签: vim neocomplcache