配置篇
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
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的配合下,可以这样做.
: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'
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
编程开始篇
使用vjde,就可以使用已经存在的模板进行创建你的程序:
在图形界面下,可以从菜单Vim JDE->Wizard->New Class(with main) 开始创建一个你自己的类.它还包括一个main 方法.
vjde提供了很多的代码模板可以使用,第一个模板被定义为在当前的位置添加模板的全部内容.
同时,你可以自己定义你自己的模板为你的每一类文件.它们都会被列在 Vim JDE->Wizzard的子菜里面.
你只需要把自己定义的模板放到 ~/.vim/vjde/java.vjde 即可被当作java类型文件的模板 ~/.vim/vjde/cpp.vjde 即被当作cpp类型文件的模板
关于文件类型,打开一个文件,然后用
:set filetype
即可知道当前文件的类型.
高级技巧: 各类模板是可以互相引用的.但是,我不作递归检查.
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 ...
编程提高篇
通常,在我们写代码的时候,我们会写很多重复的代码,如一个数据循环结构,一个Vector的遍历,一个System.out.println() , 甚至很多很多的,每天都要写很多遍的代码.
怎么办? 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
Technorati Tags: vi, java, jde, vjde, note