Eclim: 让Vim拥有Eclipse的功能
发表于 : 2008-11-13 0:40
经常用Vim和用过Eclipse的人都知道两者的强大和各自的缺陷~~以下是我的看法:
1. Vim拥有强大的编辑功能,在代码编辑上的确非常不错。但相比于Eclipse这个专业的Java IDE来说在Java编程方面还是有些不足的。
2. Eclipse随在Java编程方面很强大,但光在代码编辑上不如Vim,其界面的臃肿也使得编辑非常的不方便。
我是一个Vim用户,也是一个Java程序员,所以Eclipse对我来说很重要,但即使有1G的内存,有时也会遇到麻烦~~我还用过VJDE插件,但其功能还是过于简单了,而且配置也比较复杂,所以放弃了。也用过Eclipse的Vim插件,不过我觉得真正让我不爽的是Eclipse本身的界面,况且,在Eclipse里边用Vim就少了许多Vim本身的功能了。
Eclim就是一个非常不错的Vim插件,它的原理非常简单:运行一个Eclipse的实例,但不打开Eclipse的界面,相当于将Eclipse作为一个服务器运行,然后用Vim作为前端(相当于Eclipse的界面)与Eclipse进行交互来扩充Vim的功能。目前已经支持最新的Eclipse 3.4 Ganymede,以下是Eclim功能的一些介绍:
Eclim http://eclim.sourceforge.net
1. 项目管理
用Eclim建立的所有项目都是Eclipse项目,所以会有.classpath和.project两个文件。
:ProjectCreate <project_name> -n java: 建立JAVA项目
:ProjectOpen <project_name>: 打开已有的项目
还有:ProjectTree, :ProjectDelete等等
2. 及时编译和错误显示
这是我喜欢的功能之一,原来只有在Eclipse中才有的。每次在Vim中保存一个Java文件时,Eclim会自动编译当前文件到.classpath文件中定义的output目录(Eclipse默认的是bin),解析编译错误输出,然后将错误显示在文件中。Eclim在错误显示上做得很聪明,利用了Vim的标记功能,哪一行出错,Eclim就会在Vim的标记栏中标上>>>,不通级别的错误颜色也会不同。
3. 自动补全与导入
这是许多人都想要的功能。我就简单说一下吧:
1). 自动补全:C-x C-u
2). 自动导入:将光标置于当前要导入的类上,然后输入:JavaImport。目前Eclim还不支持一次性全部导入,但此功能正在开发中~~
4. 自动排版
这是我另一个非常喜欢的功能。在Vim中,虽然=可以简单的对代码进行排版,但功能实在太简单,只是将各行的缩进修改了一下。Eclim就不同,输入:JavaFormat之后,它会调用Eclipse的排版功能对Java代码进行格式化,非常不错。
5. 工具集成
目前Eclim主要集成了三个工具:JUnit,Ant和Maven,都是我常用的工具。
1). Maven: 我常用Maven来建立项目,然后用Eclim打开此项目,再用:Mvn eclipse:eclipse命令还生成classpath。目前Eclim支持的Maven命令就是:Mvn,其实就相当于命令行上的mvn
2). JUnitExecute: 运行当前打开的JUnit测试类
3). Ant: :Ant <target>运行Ant任务
其实Eclim还有许多的功能,例如XML编辑时自动补全end tag,自动检验XML;编辑Python时利用pylint和pyflakes自动检查Python代码等等。
1. Vim拥有强大的编辑功能,在代码编辑上的确非常不错。但相比于Eclipse这个专业的Java IDE来说在Java编程方面还是有些不足的。
2. Eclipse随在Java编程方面很强大,但光在代码编辑上不如Vim,其界面的臃肿也使得编辑非常的不方便。
我是一个Vim用户,也是一个Java程序员,所以Eclipse对我来说很重要,但即使有1G的内存,有时也会遇到麻烦~~我还用过VJDE插件,但其功能还是过于简单了,而且配置也比较复杂,所以放弃了。也用过Eclipse的Vim插件,不过我觉得真正让我不爽的是Eclipse本身的界面,况且,在Eclipse里边用Vim就少了许多Vim本身的功能了。
Eclim就是一个非常不错的Vim插件,它的原理非常简单:运行一个Eclipse的实例,但不打开Eclipse的界面,相当于将Eclipse作为一个服务器运行,然后用Vim作为前端(相当于Eclipse的界面)与Eclipse进行交互来扩充Vim的功能。目前已经支持最新的Eclipse 3.4 Ganymede,以下是Eclim功能的一些介绍:
Eclim http://eclim.sourceforge.net
1. 项目管理
用Eclim建立的所有项目都是Eclipse项目,所以会有.classpath和.project两个文件。
:ProjectCreate <project_name> -n java: 建立JAVA项目
:ProjectOpen <project_name>: 打开已有的项目
还有:ProjectTree, :ProjectDelete等等
2. 及时编译和错误显示
这是我喜欢的功能之一,原来只有在Eclipse中才有的。每次在Vim中保存一个Java文件时,Eclim会自动编译当前文件到.classpath文件中定义的output目录(Eclipse默认的是bin),解析编译错误输出,然后将错误显示在文件中。Eclim在错误显示上做得很聪明,利用了Vim的标记功能,哪一行出错,Eclim就会在Vim的标记栏中标上>>>,不通级别的错误颜色也会不同。
3. 自动补全与导入
这是许多人都想要的功能。我就简单说一下吧:
1). 自动补全:C-x C-u
2). 自动导入:将光标置于当前要导入的类上,然后输入:JavaImport。目前Eclim还不支持一次性全部导入,但此功能正在开发中~~
4. 自动排版
这是我另一个非常喜欢的功能。在Vim中,虽然=可以简单的对代码进行排版,但功能实在太简单,只是将各行的缩进修改了一下。Eclim就不同,输入:JavaFormat之后,它会调用Eclipse的排版功能对Java代码进行格式化,非常不错。
5. 工具集成
目前Eclim主要集成了三个工具:JUnit,Ant和Maven,都是我常用的工具。
1). Maven: 我常用Maven来建立项目,然后用Eclim打开此项目,再用:Mvn eclipse:eclipse命令还生成classpath。目前Eclim支持的Maven命令就是:Mvn,其实就相当于命令行上的mvn
2). JUnitExecute: 运行当前打开的JUnit测试类
3). Ant: :Ant <target>运行Ant任务
其实Eclim还有许多的功能,例如XML编辑时自动补全end tag,自动检验XML;编辑Python时利用pylint和pyflakes自动检查Python代码等等。