在Vim中调用javac.exe

时间:2009-07-06 17:52:19

标签: vim javac

我之前曾问过一个关于使用Vim来开发Java的问题,但我最终意识到JDK非常有效,而且对于像我这样的初学者来说,Ant太复杂了。事情变得更清楚了,现在我又有了一个问题。

当我使用'filename.java'这样的文件时,我需要能够在'filename.java'上使用'javac.exe',它位于Java Development Kit(JDK)中(典型的项目我可能正在努力)。通常,要在Vim外面这样做,我可以做到

:Vim中的shell访问Vim外部的shell

C:\ Program Files ... \ javac C:\ home-directory-of-filename.java \ filename.java

这很长,因为我必须访问javac目录,然后编写整个'filename.java'目录。

无论如何要求Vim调用javac并直接在我正在处理的文件上使用它?如果有人能提供帮助,我会很高兴。我试图在我的_vimrc文件中写几个东西,但没有成功。顺便说一句,我是一个Windows Vista用户。

5 个答案:

答案 0 :(得分:7)

您可以使用%对当前缓冲区中打开的文件执行操作。因此,如果要对当前缓冲区执行javac.exe,可以键入:

:!javac %

为了方便手指,您可以在.vimrc中创建一个映射,如下所示:

map <LocalLeader>jc :!javac %<CR>

现在只需在缓冲区和presto中输入\ jc(或者你的本地领导者),就可以对该文件运行javac。

答案 1 :(得分:3)

感谢Drew Olson,我找到了答案。但它不是系统路径问题,我只需要在映射中正确键入javac的路径。我在_vimrc中添加的是这一行:

map jc:!“C:\ Program Files \ path-leading-to-javac.exe \ javac.exe”%

“s”之间写的路径是由Vim正确读取的。我不知道它是否为大师极客写得正确,但我不在乎,因为它适用于我,我现在几乎一无所知。 = d

P.S。 :对于那些认为新手知道一切的极客,请尽量方便用户使用。弹出没有任何迹象的网站不是用户友好的。这只是一个提示,而不是一个冒犯。我仍然很感激帮助。

答案 2 :(得分:2)

天儿真好,

为什么不做一些事情来映射一个功能键来调用你当前正在编辑的文件上的javac?也许是这样的:

map <silent> <F9> :w<CR>:!C:\Program Files...\javac %<CR>

然后,这将在您当前正在编辑的文件上调用javac。

HTH

欢呼声,

答案 3 :(得分:1)

要消除对javac完整路径的需要,只需将目录添加到SYSTEM PATH Enviornment变量即可。也可以将包含.java文件的目录添加到PATH变量中 - 这将消除使用完整路径的需要。

答案 4 :(得分:1)

如果您为构建管理器使用Ant,则可以在从vim中发出:make命令时将vim设置为使用Ant。

此处有更多详情:http://everything101.sourceforge.net/docs/papers/java_and_vim.html