eclim没有在vim中做自动完成

har*_*bot 7 java eclipse vim eclim ubuntu-14.04

我安装eclim并开始运行Eclipse的无头服务器,因为我用Vim编码

现在我去了vim,输入了这个,

:PingEclim
Run Code Online (Sandbox Code Playgroud)

它显示了这个,

eclim 2.4.1
eclipse 4.4.0
Run Code Online (Sandbox Code Playgroud)

然后我也做了验证,

:EclimValidate
Run Code Online (Sandbox Code Playgroud)

它给出了正确的输出,

Result: OK, required settings are valid.
Run Code Online (Sandbox Code Playgroud)

但后来当我尝试使用它的自动完成功能,通过这么一说

System.<ctl + x><ctl + u>
Run Code Online (Sandbox Code Playgroud)

它什么都没做.没有代码完成.

我需要帮助,为什么它不起作用,

我的java项目的classpath文件是这样的,

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src/java"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)

我刚刚习惯了eclim所以java类代码就是这样

package org.test;

public class TestMain
{
    public static final void main(String[] args) {
        System.  // I am just not able to get any autocompletion after that . 
    }
}
Run Code Online (Sandbox Code Playgroud)

我的项目树是这样的,

.
|-- bin
|   `-- org
|       `-- test
|           `-- TestMain.class
`-- src
    `-- java
        `-- org
            `-- test
                |-- TestMain.java
                `-- TestMain.java~
Run Code Online (Sandbox Code Playgroud)

har*_*bot 5

好吧,我想我解决了我的问题。就我而言,这是一个我无法弄清楚为什么它不起作用的问题,但是我知道了它应该如何起作用。

我认为可能是因为我已经安装了YouCompleteMe,但是我不得不通过在中添加下面的代码来覆盖eclim中存储的默认自动完成功能.vimrc

let g:EclimCompletionMethod = 'omnifunc'
Run Code Online (Sandbox Code Playgroud)

现在,这个工程完全是eclim与寄存器omn​​ifunc挂youcompleteme(YCM),然后这一切发生在实时。

希望这种情况对某人有帮助。我无法找到一个地方来解释YCM和eclim之间的这种冲突,因此必须自己解决所有问题。