Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim omnicompletion for Java_Java_Autocomplete_Vim_Omnicomplete - Fatal编程技术网

Vim omnicompletion for Java

Vim omnicompletion for Java,java,autocomplete,vim,omnicomplete,Java,Autocomplete,Vim,Omnicomplete,我已经读了很多关于Vim的全向完成的博客,但是无论我做什么,我都不能让它令人满意地工作。我花了很长时间才发现预装在我系统上的ctags版本是emacs版本,没有--recurse选项,但现在我已经在OpenJDK源代码的副本上运行了大量的ctags,试图完成某种代码,每当我尝试用[C-n]或[C-p]调用它时,Vim就会挂起 我真正想要的是像Eclipse中的代码完成一样工作的东西;我喜欢Vim作为一个编辑器,但Eclipse只是提供了一些Vim似乎失败的额外特性。带有vi模式插件的Eclips

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

我真正想要的是像Eclipse中的代码完成一样工作的东西;我喜欢Vim作为一个编辑器,但Eclipse只是提供了一些Vim似乎失败的额外特性。带有vi模式插件的Eclipse对我来说不是特别有用,它占用了太多的内存和CPU,没有任何用处;eclim也不太喜欢我

有人能提出一种更简单的方法来让某种代码完成在Vim中工作,并且实际工作吗?

这里是Vim的“JDE”特性:列出的特性之一是“代码完成(用于java和jsp、taglib、html、xml、xsl、xsd)(需要Vim 7.0)”

下面是一个Java自动完成脚本:

这不是Java,但我发现它非常清晰易懂;也许这本书值得一读。下面是一个为Drupal设置自动完成的方法。自定义AWK脚本为vim构建自动完成字典


祝你好运。

有同样的愿望,通过使用来实现。非常好用。

我试过eclim:

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


<>我完成了C++中的工作(比VIS钉要好很多),但是java没有多大的运气。这些天来,我大部分时间倾向于使用eclipse,但我在eclipse中设置了gvim——remote作为一个外部命令,这样我就可以随时将当前缓冲区wip到vim中。

我已经找到了这一点,并且正在考虑从eclipse迁移到vim。到目前为止,我找到的最佳解决方案是使用vrapper()将vim带到eclipse。它将vim的许多特性带到eclipse编辑器中,您仍然可以使用自动完成和eclipse的所有其他特性


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

顺便说一句,最后一段提到的是vim内置的omni completion,而不是eclim。谢谢你的建议。你试过JDE和javacomplete吗?你喜欢什么?我尝试过javacomplete,但它并不总是对我有效(还没有探究原因)。我要去看看JDE!提示:vrapper它有[C-p]完成。只需禁用打印命令(双击CTRL+SHIFT+L,搜索CTRL+P)。谁还需要打印代码呢?总的来说,我注意到,通过去掉默认键绑定,可以获得非常类似vim的行为,默认键绑定的优先级高于vrapper定义的键绑定。