11

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

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

任何人都可以提出一种更简单的方法来让某种在 Vim 中真正有效的代码完成工作吗?

4

4 回答 4

8

这是 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

祝你好运。

于 2009-10-23T07:57:36.437 回答
5

我尝试了 eclim:

http://eclim.sourceforge.net/

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

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

于 2009-10-29T11:15:07.160 回答
1

有同样的愿望,通过使用eclim实现了它。工作得非常好。

于 2009-10-25T14:25:35.767 回答
1

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

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

于 2012-10-18T19:21:40.923 回答