当前位置:  开发笔记 > 编程语言 > 正文

将Vim用作Java IDE的提示?

如何解决《将Vim用作JavaIDE的提示?》经验,为你挑选了7个好方法。

我沉迷于Vim,它现在是我编辑文本文件的事实上的方式.

因为它主要是一个文本编辑器而不是IDE,有没有人让我在开发Java应用程序时更容易?

我有一些问题:

如何在不离开vi的情况下调用maven任务?

我可以完成代码吗?

语法高亮怎么样?

我应该知道的其他事情(除了"不要做!"之外)?



1> toolkit..:

一些技巧:

确保你使用vim(vi改进).Linux和某些版本的UNIX符号链接vi到vim.

您可以使用eclim完成代码完成

或者您可以使用viPlugin在Eclipse中获得vi功能

使用vim语法突出显示很棒

Vim很好地支持编写像运行ant/maven构建的小宏

玩得开心 :-)


命令获取有关java语法高亮的帮助.:help java.vim
在Eclipse中获取Vim功能的另一种方法是[Vrapper](http://vrapper.sourceforge.net/home/).它具有大多数Vim键绑定,与viPlugin不同,它是免费的.

2> 小智..:

我多年来一直是Vim用户.我开始发现自己偶尔启动Eclipse(使用vi插件,我不得不说,它有各种各样的问题).主要原因是Java构建需要相当长的时间......而且随着像maven这样的高度组件化构建框架的加入,它们变得越来越慢.因此验证您的更改往往需要相当长的时间,对我来说似乎经常会导致堆积一堆我稍后要解决的编译问题,并且通过提交消息进行过滤需要一段时间.

当我的编译问题队列太大时,我会启动Eclipse.它让我可以对变化进行蛋糕制作.它使用缓慢,残酷,而且与Vim的编辑差不多(我已经使用Vim近十年了,所以这是我的第二天性).我发现需要精确编辑 - 需要修复一个特定的bug,需要重构一些特定的逻辑或其他东西......我在Eclipse中编辑就像在Vim中编辑一样高效.

还有一个提示:

:set path=**
:chdir your/project/root

这使得^wfclassname成为导航大型项目的一个非常好的功能.

所以,无论如何,当我需要添加大量新代码时,Vim似乎只是因为花时间追逐编译问题和类似的东西而让我失望.但是,当我需要查找和编辑特定来源时,Eclipse感觉就像一把大锤.我还在等待Vim神奇的IDE.我知道有三次重大尝试.有一个纯viml IDE类型的插件,它增加了许多功能,但似乎无法使用.有eclim,我遇到了很多麻烦.还有一个Eclipse插件实际上嵌入了Vim.对于真正严肃的Java EE工作来说,最后一个似乎是最有希望的,但它似乎没有很好地工作或者真正将Eclipse的所有功能与嵌入式Vim集成在一起.

在处理大型Java项目时,使用键击添加缺少的导入,键入问题的hilight代码等等,似乎对您的IDE非常有用.


投票支持"^ wf"我不知道在vim中有这样的事情:)
你能解释一下^ wf的更多信息吗?它能做什么?

3> ngn..:

如何在不离开vi的情况下调用maven任务?

Maven与任何其他shell命令没有什么不同:

:!mvn

你可以:set makeprg=mvn,如果你已经有了自己最喜欢的键映射:make.

我可以完成代码吗?

是的,eclim很棒,是vim编辑效率和Eclipse的Java语言特定意识之间的桥梁.

而且不是很好,但非常有帮助.

语法高亮怎么样?

对于基于正则表达式的高级游戏来说,这已经足够了.

你可能想要考虑其他vim + java目的的工具,比如代码模板(snippetEmu -default片段很糟糕,但可定制性发光),搜索用法和去声明(eclim,grep,ctags),生成getter和setter(java_getset,或eclim),自动进口(eclim).您可能还需要一个用于快速实验的Java shell(BeanShell,又名bsh).



4> ikky..:

我刚刚上传了这个Vim插件,用于开发Java Maven项目.

如果您还没有,请不要忘记设置突出显示:

在此输入图像描述 https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting



5> Kevin..:

我发现以下摘要非常有用:http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618.描述:make是针对ant而不是maven,但另有一个很好的总结.



6> critium..:

我知道这是几年之后,但这里有一些有趣的插件.我还没有尝试过这些YMMV.

https://github.com/mikelue/vim-maven-plugin

https://github.com/vim-scripts/maven-ide

编辑:哦,顺便说一句,我已经尝试过eclim,但我喜欢vim的原因是它的轻盈.即使在无头模式下执行日食对我来说也是太多精神上的提升.

编辑2:我最近一直在使用playframework,这也可能适用于maven构建:

对于编译,您可以配置VIM的make以运行maven,或者在我的情况下,运行构建脚本,将其发送到文件.

autocmd Filetype java setl makeprg=play_compile
autocmd Filetype java setl efm=%A\ %#[error]\ %f:%l:\ %m,%-Z\ %#[error]\ %p^,%-C%.%#

"play_compile"只是一个编译脚本.它使用SBT,所以Maven应该在这里工作得很好.即使是直接的javac也能奏效.这样,您可以使用VIM的quickfix缓冲区(:cnext,:clist:cprev等).

为了跳转类,我使用ctrl-p.很美丽.用它.跳跃文件比eclipse快.

为了跳转方法,我使用tagsearch和繁琐的c-tags.使用ctrl-]跳转到方法声明.使用Ctrl-o返回.不像日食一样好,但它的效果还不错.

我使用supertab来完成代码.Javacomplete很慢,所以我坚持使用omni-complete.再次,不像日食那么准确,但它的速度快,对我来说足够好.



7> Berzemus..:

使用vim.^ - ^(gVim,确切地说)

你会拥有它(有一些插件).

顺便说一句,snippetsEmu是一个很好的编码工具,有用的片段(如TextMate).您可以使用(或修改)预制包装或自己制作包装.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有