【问题标题】:Vim omnicompletion for Java用于 Java 的 Vim 全补全
【发布时间】:2012-10-19 03:21:40
【问题描述】:

我已经阅读了大量关于 Vim 被认为是伟大的全功能的博客,但无论我做什么,我都无法让它令人满意地工作。我花了很长时间才发现预装在我系统上的 ctags 版本是 emacs 版本,并且没有 --recurse 选项,但现在我已经在我的 OpenJDK 副本上运行 ctags-exuberant试图让某种代码完成的源,每当我尝试用 [C-n] 或 [C-p] 调用它时,Vim 就会挂起。

我真正想要的是像 Eclipse 中的代码完成一样工作的东西;我喜欢 Vim 作为编辑器,但 Eclipse 只是具有那些 Vim 似乎无法提供的开箱即用的额外功能。带有 vi 模式插件的 Eclipse 对我来说并不是特别有用,而且它对内存和 CPU 的占用太大而无法使用; eclim 也不太喜欢我。

谁能提出一种更简单的方法来让 Vim 中的某种代码完成工作真正有效?

【问题讨论】:

    标签: java autocomplete vim omnicomplete


    【解决方案1】:

    这是 vim 的“JDE”功能:http://www.vim.org/scripts/script.php?script_id=1213 列出的功能之一是“代码完成(适用于 java 和 jsp、taglib、html、xml、xsl、xsd)(需要 VIM 7.0) "

    这是一个 Java 自动完成脚本:http://vim.sourceforge.net/scripts/script.php?script_id=1785

    这不是Java,但我发现它非常清晰易懂;也许它可能值得一读。这是为 Drupal 设置自动补全的秘诀。自定义 AWK 脚本为 vim 构建自动完成字典。 http://www.thingy-ma-jig.co.uk/blog/18-08-2009/drupal-autocomplete-vim

    祝你好运。

    【讨论】:

    • 感谢您的建议。您自己尝试过 JDE 和 javacomplete 吗?你的偏好是什么?我已经尝试过 javacomplete,但它并不总是对我有用(还没有深入研究原因)。我要去看看 JDE!
    【解决方案2】:

    我曾尝试过 eclim:

    http://eclim.sourceforge.net/

    前段时间,它基本上是在后台运行 eclipse,然后提供一个 vim 插件,让您在 vim 中获得 eclipse 的所有功能。所以你可以进行重构、完成等。如果你不介意在系统的后台运行一个巨大的 Eclipse 进程,它似乎工作得很好。

    我在 C++ 中的完成工作非常好(反正比 Vis stud 好),但在 java 中从来没有太多运气。这些天我大部分时间都倾向于使用 eclipse,但我在 eclipse 中将 gvim --remote 设置为外部命令,这样我就可以随时将当前缓冲区擦除到 vim 中。

    【讨论】:

    • 顺便说一句,最后一段指的是vim内置的omni完成,而不是eclim。
    【解决方案3】:

    有同样的愿望,通过使用eclim 实现了它。效果真的很好。

    【讨论】:

      【解决方案4】:

      我一直在寻找这个,并且我正在考虑从 eclipse 迁移到 vim。到目前为止,我发现的最佳解决方案是使用 vrapper(http://vrapper.sourceforge.net/)将 vim 带入 eclipse。它为 Eclipse 编辑器带来了许多 vim 的特性,您仍然可以使用自动完成和 Eclipse 的所有其他特性。

      我仍然对完全迁移感兴趣,但在 java 开发环境中似乎很难击败 eclipse。 (只是讨厌日食的开销!)

      【讨论】:

      • 提示:vrapper 它有 [C-p] 完成。您只需要禁用打印命令(双 CTRL+SHIFT+L,搜索 CTRL+P)。谁还需要打印代码?
      • 总的来说,我注意到您可以通过摆脱默认键绑定来获得非常类似于 vim 的行为,默认键绑定优先于 vrapper 定义的键绑定。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2011-12-12
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 2011-07-07
      相关资源
      最近更新 更多