使用Vim作为Java IDE的提示?
我沉迷于Vim,现在它是我编辑文本文件的事实上的方式。
因为它主要是一个文本编辑器,而不是IDE,有没有人在开发Java应用程序时让我更容易些?
我有一些问题:
还有什么(除了“不要这样做!”),我应该知道吗?
一些技巧:
玩的开心 :-)
我多年来一直是Vim的用户。 我开始发现自己偶尔会启动Eclipse(使用vi插件,我不得不说,它有各种各样的问题)。 主要原因是Java构建需要相当长的一段时间......而且随着maven等高度组件化的构建框架的增加,它们变得越来越慢。 因此,验证您的更改往往需要相当长的一段时间,这对我来说似乎经常导致堆叠一堆我稍后要解决的编译问题,并且通过提交消息进行筛选需要一段时间。
当我遇到大量编译问题时,我会启动Eclipse。 它让我做出改变的蛋糕。 它使用起来很慢,很残酷,并且几乎不像Vim那样好(我已经使用Vim近十年了,所以对我来说是第二性质)。 我发现需要进行精确编辑 - 需要修复特定的错误,需要重构某些特定的逻辑或其他内容......我无法像在Vim中那样在Eclipse中进行编辑。
另外一个提示:
:set path=**
:chdir your/project/root
这使得classname上的^wf
成为浏览大型项目的一个非常好的功能。
因此,无论如何,当我需要添加大量新代码时,Vim似乎让我放慢了脚步,这仅仅是因为花时间追查编译问题和类似的东西。 但是,当我需要查找和编辑特定源代码时,Eclipse感觉像是一个大锤。 我仍然在等Vim的魔法IDE。 我知道有三个主要的尝试。 有一个纯viml IDE类型的插件,增加了很多功能,但似乎无法使用。 有eclim,我遇到了很多麻烦。 还有一个Eclipse插件实际上嵌入了Vim。 最后一个对于真正认真的Java EE工作来说似乎是最有希望的,但它似乎并不能很好地工作,或者真的将Eclipse的所有功能与嵌入式Vim集成在一起。
像在一个大型Java项目上工作时,使用键盘输入缺少的导入,键入问题等的hilight代码似乎对您的IDE非常重要。
我如何在不离开vi的情况下调用Maven任务?
Maven与其他shell命令没有区别:
:!mvn
你可以:set makeprg=mvn
如果你已经有了一个最喜欢的键映射:make
。
我可以完成代码吗?
是的,eclim很棒,它是vim的编辑效率和Eclipse的Java语言特定意识之间的桥梁。
<Cn>
和<Cp>
不是很好,但非常有帮助。
语法高亮怎么样?
对于基于正则表达式的高层来说,这已经足够了。
您可能需要考虑用于其他vim + java目的的工具,如代码模板(snippetEmu-default snippets suck,但是可定制性闪耀),搜索用法和去声明(eclim,grep,ctags),生成getter和setter(java_getset,或eclim),自动导入(eclim)。 您可能还需要一个用于快速实验的Java shell(BeanShell,又名bsh
)。