autocmd用于运行Eclim' s:JavaImportOrganize

时间:2015-02-24 20:44:36

标签: vim eclim autocmd

我正在尝试设置一个autocmd来运行Eclim命令:每次保存java文件时都使用JavaImportOrganize和:语法。

au BufWritePost {*.java} silent :JavaImportOrganize :syntax on

哪个(预期)会产生错误。我试图找到一个包含插件命令(在这种情况下从守护程序加载?)和普通命令的autocmd示例,但我似乎无法弄清楚正确的语法。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

知道确切的错误消息是有用的。在我的机器上,错误是:

Error detected while processing BufWritePost Auto commands for "{*.java}":
E488: Trailing characters: silent :JavaImportOrganize :syntax on

我认为这对你来说是一样的,但是将它粘贴在问题中会有很多帮助,所以人们可以更容易地猜出问题是什么。

在这种情况下,这是在单个调用中组合两个命令的简单情况。您可以使用|字符执行此操作(有关详细信息,请参阅:help :|):

:silent JavaImportOrganize | syntax on

现在,在我的实验中,这并没有成功,因为| syntax on可能被视为JavaImportOrganize调用的一部分。所以我不得不使用exe:help :execute获取更多信息):

:silent exe 'JavaImportOrganize' | syntax on

完整的调用如下所示:

 au BufWritePost *.java silent exe 'JavaImportOrganize' | syntax on

围绕*.java的花括号是不必要的(事实上,我甚至不知道它们有效:))。命令之前的:符号不是必需的 - 它们在命令行模式下使用,但在脚本中它们是完全可选的。