在vim中实时检查Java语法

在vim中实时检查Java语法,java,vim,syntax,Java,Vim,Syntax,首先,请不要对我大叫“使用IDE”。我给了eclipse一个机会,它是。。。好的,但我在vim中比eclipse快得多 基本上,我希望vim能够像eclipse那样做的一件事就是动态地检查语法。在eclipse中,如果您有语法错误,那么这一行会给出一个错误标记,顶部的文件名会显示一个红色的小东西,让您知道有错误。我一直在试着把这个放在vim里。我看过syntastic(它没有Java的checker),但我似乎无法让它工作。所以问题仍然是 每次我用vim保存文件时,有没有办法检查语法?希望能在状

首先,请不要对我大叫“使用IDE”。我给了eclipse一个机会,它是。。。好的,但我在vim中比eclipse快得多

基本上,我希望vim能够像eclipse那样做的一件事就是动态地检查语法。在eclipse中,如果您有语法错误,那么这一行会给出一个错误标记,顶部的文件名会显示一个红色的小东西,让您知道有错误。我一直在试着把这个放在vim里。我看过syntastic(它没有Java的checker),但我似乎无法让它工作。所以问题仍然是


每次我用vim保存文件时,有没有办法检查语法?希望能在状态行中显示它,命名有多少个错误以及第一个错误出现在哪一行…

我还没有尝试过它,它可能有点过分,但仅供参考,有一个项目试图将Eclipse的功能引入vim。它声称可以与包括和在内的更多功能一起使用。

我意识到这已经有了一个可接受的解决方案,但vim纯化者可能更喜欢使用它


它是为许多常见语言(如PHP、Java等)预先配置的。我只是想把它留在这里,以防其他人有同样的问题,但不想运行无头eclipse服务器来实现它。

新插件可以为Java提供一些支持,包括Java 8。

我是Java新手,在尝试了一些IDE之后,我又回到了vim。到目前为止,我对这两个插件有很好的经验

  • -提供omnicompletion和许多函数来自动添加导入语句、生成getter和setter等
  • -处理异步代码检查,在Neovim或Vim 8中使用异步支持(我还没有在Neovim中尝试过这一点,但我认为它应该可以工作)
还应该安装一个好的自动完成插件(我有javacomplete2与YouCompleteMe配合得很好)

为了使这两种方法都起作用,我的.vimrc中有以下内容:

augroup java
  au!
  autocmd FileType java setlocal omnifunc=javacomplete#Complete
  autocmd BufReadPost,BufWritePost *.java :NeomakeFile
  # ...
augroup end

在使用Neomake之前,我试着用它来制作线绒。但该插件不支持异步,因此在编写文件后,我必须等待一秒钟左右,我的vim才能做出响应。

您也应该看看:还有。我非常喜欢它。它为我提供了eclipse特性和大部分VI命令集,我只是悄悄地说,因为你的编辑器由你决定。Eclipse确实有允许您在文本编辑器中使用vi/vim键绑定的插件;这可能会让你拥有两个世界的最佳。你是否考虑过在每个保存中编译一个<代码>:AutoScript < /C>?你有没有想过Eclipse不是java的唯一IDE,而且也不是最好的?你有没有任何例子说明我如何做到这一点,然后以某种方式将错误输入状态行?Eclim做得相当好。我用了一段时间,但最终还是把它扔掉了,因为它让我慢了太多(注意,不如Eclipse慢)。使用Vim的
make
(链接到
ant
for Java)使构建和修复错误变得更容易,您可能也会从中受益。同意eclim对您没有帮助。发现使用CTAG更好。也许将来会开始使用cscope。我确实看过Syntastic,但由于某些原因我没能让它工作。我可能会回头看看,不过谢谢你的提醒。不用担心。如果您有任何问题,请随时在这里或谷歌群上发布问题,我会尝试帮助您。据我所知,Syntastic不支持Java。如果我错了,请纠正我,因为我真的想在这一点上出错。它确实是这样,我用它做了很多Java开发。它适用于Java。要尝试它,请打开任何Java文件。然后在命令模式下,键入
:SyntasticCheck