vim 构建 方便的java开发环境 ,

  • Post author:
  • Post category:java


首先安装vim (当然做java 开发要装jdk 这个就不说了)


emerge  -av vim

(gentoo 系统上安装vim 的命令,你可以用rpm ,apt-get )


给vim 安装 javacomplete 插件


http://www.vim.org/scripts/script.php?script_id=1785

这个插件的作用是实现一部分代码提示功能 比如你输入 System. 会列出System 下面所有的成员变量及方法

安装方法:下载

javacomplete.zip

上面的网址上有install details 关于安装的细节

简述如下

解压文件 后

将javacomplete.vim,

java_parser.vim

Reflection.java

cop

y 到



/usr/share/vim/vimfiles/autoload


vim 安装目录下的vimfiles/autoload 目录 下

并注意这几个文件 的权限chmod 755


/usr/share/vim/vimfiles/autoload/* ,保证普通用户有相应的权限

cd

/usr/share/vim/vimfiles/autoload


javac  Reflection.java

设置java classpath 将

/usr/share/vim/vimfiles/autoload 路径加入到CLASSPATH目录下


例如我的CLASSPATH 是



.:

/usr/share/vim/vimfiles/autoload

:/usr/share/ant-core/li

b/ant-launcher.jar:/usr/share/ant-core/lib/ant.jar:/usr/s

hare/ant-core/lib/ant-bootstrap.jar






setlocal omnifunc=javacomplete#Complete 加入到文件 ~/.vimrc 中

我加入的是这几句

autocmd Filetype java set omnifunc=javacomplete#Complete                        “这一句是自动补全(好像是)

autocmd Filetype java set completefunc=javacomplete#CompleteParamsInf  ”  这一句是参数提示,好像不太好用,

inoremap <buffer> <C-X><C-U> <C-X><C-U><C-P>

inoremap <buffer> <C-S-Space> <C-X><C-U><C-P>


autocmd Filetype java,javascript,jsp inoremap <buffer>  .  .<C-X><C-O><C-P>

这一句实现在vim 编辑java 文件 时当敲入.

时会触发

<C-X><C-O><C-P>

这两句的意思 是说按下Ctrl+X 后再按下Ctrl+U 才会触发提示功能如 调入System.  会 出现一个列表框列出System 类中的成员

当然也可以让它做进一步的提示

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  A  A<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  B  B<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  C  C<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  D  D<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  E  E<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  F  F<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  G  G<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  H  H<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  I  I<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  J  J<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  K  K<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  L  L<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  M  M<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  N  N<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  O  O<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  P  P<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  Q  Q<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  R  R<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  S  S<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  T  T<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  U  U<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  V  V<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  W  W<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  X  X<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  Y  Y<C-N><C-P>

autocmd Filetype java,javascript,css,html,xml inoremap <buffer>  Z  Z<C-N><C-P>

这样每敲入一个大写字母,  会进行补全提示,当然这个只能补全当编辑文件 中出现的同名短语,比如文件 中出现过一次System 当再次敲入S 时会列出所有以S 开头的单词




第二分割vim窗口,同时编辑多个文件


http://www.cublog.cn/u1/53672/showart_447346.html


第三在vim 用运行shell 终端




http://www.vimer.cn/2010/06/%E5%9C%A8vimgvim%E4%B8%AD%E8%BF%90%E8%A1%8C%E7%BB%88%E7%AB%AF%E5%AF%B9%E4%BD%A0%E6%B2%A1%E6%9C%89%E7%9C%8B%E9%94%99%E6%88%91%E4%B9%9F%E6%B2%A1%E6%9C%89%E5%86%99%E5%8F%8D.html




第二和第三相结全 可以做的一个窗口编辑java文件 ,一个窗口运行 bash 进行编译java 文件 ,不用关闭vim 后运行 javac 命令了




版权声明:本文为jixiuffff原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。