【问题标题】:Clang_complete not worrkingClang_complete 不工作
【发布时间】:2014-10-02 08:18:32
【问题描述】:

很遗憾,我无法使 clang_complete 工作,我可能需要您的帮助。 我已经编译了带有 python 支持的 vim 7.4。这是vim --version | grep python的输出:

+cryptv          +linebreak       +python/dyn      +viminfo
-cscope          +lispindent      +python3/dyn     +vreplace

我遵循了这个指南:https://vtluug.org/wiki/Clang_Complete

请注意,我是从全新安装开始的(即我的.vimrc 中没有其他插件,也没有其他条目(上述指南中显示的除外)。

根据我到目前为止看到的教程,一切都应该正常工作。 但是,如果我尝试为以下示例完成代码,则不会发生任何事情。如果我按<c-x><x-u>,我会收到错误“completefunc not set”。

#include <string>

int main()
{
   std::string s;
   s.
}

此外,我已经从源代码安装了最新版本的 clang,它在我的 $PATH 中。

有没有办法验证确实安装了 clang_complete?

什么可能导致这个问题?

非常感谢任何帮助。

【问题讨论】:

  • 你可以在vim中使用:scriptnames查看已启用插件的列表
  • 我建议你使用youcompleteme 插件。我觉得它比 clang 好多了
  • youcompleteme 也没有真正工作,它总是显示以下错误:“ycmd 服务器关闭(使用 :YcmRestartServer 重新启动)。Stderr(最后 30 行):”和“HTTPConnectionPool(host=' 127.0.0.1' ...) ...连接被拒绝”
  • :e 之后还能用吗?是否有 clang 的缓冲区局部变量,例如b:clang_something(尝试用标签完成:echo b:clang_)?
  • 自动完成 :echo b:clang_ 有效。而且,我刚刚安装了supertab。我能够自动完成在本地文件中定义的内容,但“字符串 s”。仍然没有任何建议。有没有可能clang找不到

标签: clang vim vim-plugin clang-complete


【解决方案1】:

添加

filetype plugin indent on 

到您的 vimrc,链接中的 vimrc sn-p 缺少它。这告诉 vim 进行文件类型检测并触发与这些文件类型相关的自动命令。没有它,您将无法运行以下自动命令。

au FileType c,cpp,objc,objcpp call <SID>ClangCompleteInit()
au FileType c.*,cpp.*,objc.*,objcpp.* call <SID>ClangCompleteInit()

这可能会初始化 ClangComplete。

【讨论】:

  • 这也不起作用。这是我收到的错误消息:E117:未知函数:2_ClangCompleteInit。此外, :scriptnames 显示 clang_complete.vim 插件已加载。
猜你喜欢
  • 2012-11-09
  • 2013-01-12
  • 2013-02-06
  • 1970-01-01
  • 2017-04-10
  • 2012-05-02
  • 2012-11-25
  • 2012-10-10
  • 2019-02-03
相关资源
最近更新 更多