配置篇
- 启用或者禁用java在用户输入括号后自动提示参数
let g:vjde_cfu_java_para=0
- 启用或者禁用 用户在用<c-x> <c-u>时显示预览
let g:vjde_show_preview=0
- 启用或者禁用 在用户输入 . 时自动提示后面的部分
let g:vjde_cfu_java_dot=0
- 启用或才禁用 使用一个图形化的提示窗口.(不推荐,太难看)
let g:vjde_preview_gui=1
- 以下做为c++使用
let g:vjde_iab_exts='.cpp;.c;.vim;.rb'
- 对指定名字的窗口进行调整,如下表示:
- 对以__Tag_List__为标题的窗口,在垂直方向变化,进入时40宽,离开后变成20宽
- 对以.prj为标题的窗口,在垂直方向变化,进入时24宽,离开后变为1
let g:floatingwindows= "'Tag_List',1,40,20;'.prj',1,24,1;'.vimproject',1,24,1;"
在开始写一个java程序的时候,如果是一个简单程序,一切都无所谓.如果是一个比较大的项目.需要工程支持.在vjde的配合下,可以这样做.
- 创建目录 project1 在你的工作目录上.
- 打开 vim 并切换到 project1
:cd project1
- 存储一个工程模板
:Vjdesave .vjde
- 在.vjde里面,会有一个参数,你可自行打开并修改.如我的一个配置文件中,编译时的输出文件夹
let g:vjde_out_path='classes'
- 源代码目录
let g:vjde_src_path='src'
- 编译时使用的路径,用于代码补全时类查找,也是编译时使用,最好把输出文件夹加在此处.
let g:vjde_lib_path='lib/servlet.jar:lib/images.jar:class'
- 如果有jsp类型文件,放在这里
let g:vjde_web_app='webapps'
- 测试源代码路径
let g:vjde_test_path='test'
- 系统中java命令的命令名字,默认在windows下为javaw,linux下java,理论上可以修改成为jikes
let g:vjde_java_command='java'
- 修改完成后,你可以用
:Vjdeload .vjde
- 或者这样加载
:source .vjde
高级技巧: 各类模板是可以互相引用的.但是,我不作递归检查.
if !exists('g:vjde_iab_refs') let g:vjde_iab_refs={} endif if !has_key(g:vjde_iab_refs,'jsp') let g:vjde_iab_refs['jsp']=[ 'java', 'html' ] endif if !has_key(g:vjde_iab_refs,'cpp') let g:vjde_iab_refs['cpp']=[ 'c' ] endif即是说 jsp引用 java 和 html的模板 cpp引用了c的模板. 当然,也可定义自己的引用.
- 代码补全
在默认的情况下,在gui环境下,用户在任何时候按下<c-space>即可进行代码提示. 如果要改变这个定义,请定义 g:vjde_completion_key let g:vjde_completion_key="<c-l>"
- 添加引用的包.
通常,我们编辑的时候,比如,使用了 Vector numbers; 我们已经知道了 Vector 在 java.util里,或者一些类,我们不知道在什么地方,这个时候, 把Shu标话在 Vector 上, 在通常模式下,使用 <leader>ai 在我系统上,是 \ai 这个组合.即可自动添加 java.util.Vector 到你的 文件上. 如果有多个,则提示你选择一个你要使用的. 或者使用使用菜单 Vim JDE->Add import
- 如果在编译时发现一个错误,就是无法找到一个类的定义,这时,可以使用:
Vim JDE->fixerror with import 来把当前这个没有添加的类添加到文件中来. 这个,必须使用 :make 或者 :Vjdec 编译时才能使用.
- 对编译时提示的没有捕获的异常,也可以根据需要来使用 Vim JDE->fixerror with try/catch , 这会把当前的错误行包含在一个适当的try-catch块里.
使用 Vim JDE->fixerror with throws 则把这个异常定义为 throws ,添加到函数定义上.
- 重载方法 Vim JDE->Source->override methods...
列出父类的方法,选择重载
- 实现接口 Vim JDE->Source->Implement interfaces...
列出类的接口中要实现的方法,用户选择实现.
- 生成构造函数 Vim JDE->Soruce->Generate Con...
把已经编译过的类中每一个成员变量做为参数,生成一个构造函数.
- 添加 Singleton 接口 Vim JDE->Source->Add single...
在当前位置为类生成一个Singlton接口.包括一个私有构造函数,一个getInstance()方法,一个实例变量.
- 把变量变成成员变量,局部变量,静态变量的小工具.
Vim JDE->Source->Extract ....
- 把引用的要排序的包选中,然后,执行此命令
Vim JDE->Source->Sort import ...

怎么办? vjde 提供了一个方法.
vjde 提供了一个iab的扩展.目前,是在输入模式下输入 <c-j>即激活这个功能.
在使用这个功能前.你可以定义好自己的要使用的一个模板:如果要用java 使用,存储为 ~/.vim/vjde/java.iab, 为c++使用,存储为~/.vim/vjde/cpp.iab , 在 .iab 前是文件类型.你可以为你使用的每一种文件类型创建一种模板
如,一个java 的模板按如下定义:
template out ; system out body System.out.println(|); endt template err; Sysetm.err body System.err.println(|); endt template fa ; for loop for array body for ( int i = 0 ; i < |.length ; i++) { } endt
这样,当你输入
out<c-J>时,自动把本行展开成为:
System.out.println();并把光标放在第一个 | 的位置.
更多的定义和使用,请参考
:h vjde-iabbr
评论