Vim - 以当前文件作为参数运行ant命令

时间:2011-09-09 20:38:14

标签: vim ant

在我的IDE(webstorm)中,我已经配置了一个外部工具来运行ant,如下所示:

ant myTarget -DfileNoExt="$FileNameWithoutExtension$"

运行命令时,IDE会扩展$FileNameWithoutExtension$

我正在过渡到使用Vim。我是Vim n00b。

我如何对Vim(特别是MacVim)做同样的事情?

2 个答案:

答案 0 :(得分:2)

你可以在vim.rc中映射Hotkey或你自己的键序列(在mac中不确定,应该有类似的资源文件)

将此行添加到您的vim资源文件中:

imap <F5> <ESC><ESC>:!ant mytarget -Dfilenoext=\"%<\"

这意味着当您编辑源代码时,按F5将运行您的ant工具 您可以阅读http://vim.wikia.com/wiki/Compile_Java_with_Sun_JDK_javachttp://www.vim.org/scripts/script.php?script_id=155

答案 1 :(得分:2)

Vim会将%扩展为当前文件。您可以在其上使用修饰符(请参阅:help filename-modifiers)。你可以告诉vim使用ant作为你的make程序:

compiler ant
setlocal makeprg=ant\ myTarget\ -DfileNoExt=\"%:t:r\"

现在您可以使用:make来构建当前文件。您应该在quickfix中遇到构建错误(使用:copen查看)。

您可能希望将上述脚本放入文件~/.vim/after/ftplugin/java.vim中。这会为你打开的每个java文件加载它。


请注意,如果要使用不同的目标,:make会将所有参数传递给ant。因此:make otherTarget将执行ant myTarget -DfileNoExt="file" otherTarget