vim java omnicomplete
我正在尽最大努力按照此处的安装说明进行安装,但我无法使其正常工作,而且看起来有点模糊 这就是我所做的vim java omnicomplete,java,vim,omnicomplete,Java,Vim,Omnicomplete,我正在尽最大努力按照此处的安装说明进行安装,但我无法使其正常工作,而且看起来有点模糊 这就是我所做的 我确认我有vim 7或更高 我创建了一个$HOME/.vim目录 我将最新版本解压缩到$HOME/.vim中 我在.vimrc中添加了以下两行: 从那以后,我不知道该怎么做才能让它工作。想法?使用:setlocal命令仅设置当前缓冲区的值,并且在.vimrc内没有任何区别。相反,您应该告诉vim为java类型的每个文件设置值。这是如何做到的: if has("autocmd") aut
- 我确认我有vim 7或更高
- 我创建了一个$HOME/.vim目录
- 我将最新版本解压缩到$HOME/.vim中
- 我在.vimrc中添加了以下两行:
从那以后,我不知道该怎么做才能让它工作。想法?使用
: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
(运行:echo在vim内部有(“autocmd”)
,必须观察值1
。: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
。为什么:执行“echo has('autocmd')”
:echo has('autocmd')?操作。。。是的,你说得对。我刚尝试了:has(“autocmd”)
,但没有答案,我认为这是因为has(string)
函数只在脚本内部工作。我将编辑答案。。谢谢,那么自动完成的转义序列是什么呢?好的,我注意到CTRL-P导致自动完成。老实说,这有点令人失望,因为它似乎只匹配已经在同一个文件中声明的符号。也就是说,如果我执行“private InputStream is=new Bu”,它不知道该做什么,因为我还没有显式导入BufferedInputStream。即使我做java.io.Bu,它仍然是无知的。这是真的吗?
应该做这个工作为什么:执行“echo has('autocmd')”
而不是:echo has('autocmd')
?操作。。。是的,你说得对。我刚尝试了:has(“autocmd”)
,但没有答案,我认为这是因为has(string)
函数只在脚本内部工作。我将编辑答案。。谢谢,那么自动完成的转义序列是什么呢?好的,我注意到CTRL-P导致自动完成。老实说,这有点令人失望,因为它似乎只匹配已经在同一个文件中声明的符号。也就是说,如果我执行“private InputStream is=new Bu”,它不知道该做什么,因为我还没有显式导入BufferedInputStream。即使我做java.io.Bu,它仍然是无知的。这真的就是这件事吗?
应该能完成这项工作