2

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

当我使用诸如“filename.java”之类的文件时,我需要能够在“filename.java”(一个典型的项目,我可以正在努力)。通常,要在 Vim 之外执行此操作,我可以这样做

:shell in Vim 访问 Vim 外部的 shell

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

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

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

4

5 回答 5

7

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

:!javac %

为了让手指更轻松,您可以在 .vimrc 中创建一个映射,如下所示:

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

现在只需在缓冲区中键入 \jc (或任何您的本地领导者),然后您已经针对该文件运行了 javac。

于 2009-07-06T18:15:44.023 回答
3

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

映射 jc :!"C:\Program Files\path-leading-to-javac.exe\javac.exe" %

Vim 可以正确读取 "s 之间的路径。我不知道它是否适合大师级极客,但我不在乎,因为它对我有用,我现在几乎一无所知。=D

PS:对于认为菜鸟无所不知的极客,请尽量做到人性化。弹出一个没有任何迹象的网站对用户不友好。这只是一个提示,而不是冒犯。我仍然感谢您的帮助。

于 2009-07-06T21:40:08.323 回答
2

天,

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

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

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

高温高压

干杯,

于 2009-07-06T18:17:28.980 回答
1

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

更多细节在这里:http ://everything101.sourceforge.net/docs/papers/java_and_vim.html

于 2009-07-06T18:06:30.920 回答
1

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

于 2009-07-06T17:55:10.290 回答