【问题标题】:Use code completion in vim as in sublime text在 vim 中使用代码完成,就像在 sublime 文本中一样
【发布时间】:2013-04-20 08:54:06
【问题描述】:

我希望有一个与 sublime text 完全一样的自动完成功能,但在 vim 中。

我想要这种行为:

  • 当我开始输入单词时,我想要一个提示完成的框;
  • 在建议的补全中,我想使用遗言;
  • 我想通过 ctags 找到函数;
  • 我想为我使用的语言提供标准函数;
  • 我想要sn-ps;

有很多关于vim自动完成的插件,我迷路了。

【问题讨论】:

  • 欢迎使用 Vim;它庞大的插件库既是福也是祸;你发现了什么,你喜欢什么,一个功能对另一个功能有多重要?!最后,您将无法自己尝试一些插件;每个人的喜好都不一样,而且 Vim 中没有万能的解决方案。

标签: vim vim-plugin


【解决方案1】:

试试这个方法:

for plugin in plugins
    try
       install plugin
       read    doc
       test    plugin
    catch
       remove plugin
    endtry
endfor

另外,请确保在搜索插件之前阅读并理解 :h ins-completion。

【讨论】:

  • 您的代码在我的 vim (v7.3) 中不起作用!但我给你投票!
  • 不要尝试添加此代码...阅读它,你会明白的。这是个笑话。
  • 错误:未定义的参考文档。
【解决方案2】:

目前我正在使用YouCompleteMe...非常好,虽然我不知道它是否可以配置为根据上次使用对单词进行排序。它具有适用于任何文件类型的通用模糊补全功能(您可能会发现模糊补全很棒),但它还包含通过 libclang 对 C/C++/Objective-C/Objective-C++ 的语义补全。

特别是,我从源代码中编译最新的 clang、libc++ 和 VIM 来调整和设置 VIM 以使用我的环境 python/ruby/etc 并获得不错的 C++11 支持。然后,我也从源代码编译 YouCompleteMe,尽管我首先通过插件管理器安装它。我目前的选择是VAM,但还有其他的,比如 Vundle 和 Pathogen。

【讨论】:

  • 我阅读了有关 YCM 的文档,但没有看到有关 sn-ps 的任何内容。我看到这一行“YCM 废弃了以下 Vim 插件,因为它具有所有功能以及额外的功能:autocomplpop”,但在 autocomplpop 的文档中我看到了这一行“此外,如果选项已设置。”。我查看了 YCM 的源代码,并没有看到关于 sn-ps 的任何内容。有没有办法通过 YCM 支持 sn-ps?
  • @Dougui 最​​近我看到了 sn-p 支持。可能的 sn-ps 也列在完成菜单中,这是通过 UltiSnips 集成完成的,YCM 帮助显示可用的 sn-ps,UltiSnips 将提供它们。 stackoverflow.com/q/14896327, github.com/Valloric/YouCompleteMe/pull/257
  • 是的,最近 ultisnips 支持已经实现。 Ctags 集成在待办事项列表中,但尚未完成。我认为这个插件确实最接近你想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-01
相关资源
最近更新 更多