在Vim中,如何在/ src /中编译.java文件并从/ bin /?

时间:2015-05-24 14:06:49

标签: java vim

我使用的是Windows,我的_vimrc文件包含以下几行:

autocmd Filetype java set makeprg=javac\ -d\ %:~:h:s?src?bin?\ %
set errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
map <F9> :make<Return>:copen<Return>
map <F10> :cprevious<Return>
map <F11> :cnext<Return>
map <F12> :!start cmd /k "java %:~:s?src?bin?:r"

我只是想用它进行快速编辑,我大部分时间都会使用IDE,因此需要classic / src /和/ bin /文件夹(它们位于同一文件夹级别)。 / p>

所以它是这样发生的:
- 我打开要在vim中编辑的.java文件(它位于/ src /文件夹中)
- 我点击了F9,javac在我当前的文件(%)上运行,并将类文件放在/ bin /文件夹中(这似乎按预期工作),并在vim中打开一个新的错误窗口以显示编译错误
- 我点击F10 / F11在错误之间循环
- 我按F12打开命令提示符并执行java程序(我想我必须打开命令提示符,因为我的程序要求在控制台中输入用户),除了它在命令提示符中给出错误无法找到或加载主类

我不知道为什么它不会工作,课程路径似乎是正确的。你能告诉我哪里出错了吗?

编辑: @ merlin2011让我得到以下答案:
map <F12> :!start cmd /k "cd %:~:h:s?src?bin? & java %:r"
我不得不cd到/ bin /然后运行java。

或:,无需更改目录,只需更改类路径:
map <F12> :!start cmd /k "java -classpath %:~:h:s?src?bin? %:r"

1 个答案:

答案 0 :(得分:1)

为了永久性,我正在将我的评论转换为答案。

为了从vim运行Java命令,必须先cd到目录bin并从那里运行Java命令。

 map <F12> :!start cmd /k "cd %:~:h:s?src?bin? & java %:r"