2011-05-18 66 views
2

我正在尽我所能按照这里的安装说明:http://vim.sourceforge.net/scripts/script.php?script_id=1785,但我无法得到它的工作,它似乎有点模糊。vim java omnicomplete

这是我所做的。

  • 我证实我有vim 7或更高版本。
  • 我创建了一个$ HOME/vim的目录
  • 我解压最新到$ HOME/vim的
  • 添加以下两行的.vimrc:

:setlocal omnifunc=javacomplete#Complete 
:setlocal completefunc=javacomplete#CompleteParamsInfo 

从那里我不知道我应该怎么做才能让它工作。想法?

回答

0

:setlocal命令只设置当前缓冲区的值,它在.vimrc内部没有任何区别。相反,你应该告诉vim为每个java类型的文件设置值。这是它是如何做:

if has("autocmd") 
    autocmd Filetype java setlocal omnifunc=javacomplete#Complete 
    autocmd Filetype java setlocal completefunc=javacomplete#CompleteParamsInfo 
endif 

.vimrc与线替换上面的命令,并重新加载它(你可以运行:source ~/.vimrc为)。

请注意,您需要autocmd(当在vim中运行:echo has("autocmd")时,您必须注意值1)。

+0

为什么':execute“echo有('autocmd')”'而不是':echo has('autocmd')'? – ZyX 2011-05-18 19:59:37

+0

ops ...是的,你是对的。我刚刚只尝试过':has(“autocmd”)',但没有答案,我想这是因为'has(string)'函数只能在脚本中使用。我将编辑答案..谢谢 – freitass 2011-05-19 12:57:03

+0

好的,然后什么是转义序列来完成自动完成? – Kevin 2011-05-19 17:42:37

相关问题