美文网首页
Windows下gvim/vim支持带包一键编译和运行Java程

Windows下gvim/vim支持带包一键编译和运行Java程

作者: 未来决定现在 | 来源:发表于2016-06-10 17:30 被阅读0次

    虽然网上已经有人讲述了gvim/vim中一键编译和运行java程序,但是不支持带package和第三方jar包[jar包放在源文件同一目录下,当然你可以修改javacx.bat文件内容指定特定目录]的java文件,所以在此做下补充。


    一、_vimrc中写Java编译函数

    func! CompileJava()

    “把编译好的class文件放到..\bin(根据喜好自行改变)中,不存在该文件夹则新建

    silent! execute '!IF NOT EXIST "..\bin" MD "..\bin"'

    "Quickfix窗口输出编译错误信息(前提是你的gvim支持Quickfix)

    "设定:make绑定的命令

    :set makeprg=javacx.bat\ %

    :make

    "只有编译错误时才显示Quickfix窗口

    :cwindow

    endfunc

    "绑定快捷键F8进行编译

    imap <F8><ESC> :call CompileCode()<CR><CR>

    map <F8> :call CompileCode()<CR><CR>

    vmap <F8><ESC> :call CompileCode()<CR><CR>


    二、_vimrc中写Java执行函数

    func! RunResult()

    if &filetype == "java"

    silent! execute "!start cmd /c JavaRunx.bat %< & pause"

    endif

    endfunc

    "绑定快捷键F9运行java的class文件

    map <F9>:call RunResult()<CR><CR>

    imap <F9> <ESC> :call RunResult()<CR><CR>


    三、编写编译函数中涉及到的javacx.bat文件

    "注意javacx.bat文件最好放在gvim.exe相同目录下

    "该文件内容如下,不懂得可以搜索,也可以与我联系:QQ思义四吧散斯路吧尔

    @echo off

    setlocal enabledelayedexpansion

    set javaFile=%1%

    echo %javaFile%

    set jarFile=

    if exist *.jar (

    set jarFile=.

    dir /b *.jar> javac.txt

    for /f  %%a in (javac.txt) do (

    set jarFile=!jarFile!;%%a

    )

    )

    if "%jarFile%"=="" goto nojar

    javac -cp %jarFile% %javaFile% -d ../bin

    del /F /S /Q %cd%\javac.txt

    goto jar

    :nojar

    javac %javaFile% -d ../bin

    :jar


    四、编写执行函数中涉及到的JavaRunx.bat

    "注意JavaRunx.bat文件最好放在gvim.exe相同目录下

    "该文件内容如下,不懂得可以搜索,也可以与我联系:QQ思义四吧散斯路吧尔

    @echo offsetlocal enabledelayedexpansionset /p input=javaRun.txt

    for /f  %%a in (javaRun.txt) do (

    set jarFile=!jarFile!;%cd%\%%a

    )

    del /F /S /Q %cd%\javaRun.txt

    :nojar1

    cd ../bin

    set binpath=%cd%\

    for /f %%i in ('dir /s/b %javaFile%.class') do set filepath=%%i

    set pcgpath=!filepath:%binpath%=!

    set class=%pcgpath:.class=%

    set class=%class:\=.%

    if "%jarFile%"=="" goto nojar2

    java -cp %jarFile% %class%

    goto jar

    :nojar2

    java %class%

    :jar


    五、整合

    最后你可以把这部分内容整合到你的c/c++等的一键编译运行函数中。


    【注意】本文属于作者原创,转载时请注明以下内容:

    简书:未来决定现在http://www.jianshu.com/p/24bc17193c4f

    相关文章

      网友评论

          本文标题:Windows下gvim/vim支持带包一键编译和运行Java程

          本文链接:https://www.haomeiwen.com/subject/cuusdttx.html