运行 Eclim 的 autocmd :JavaImportOrganize
autocmd for running Eclim's :JavaImportOrganize
我正在尝试为 运行 Eclim 命令 :JavaImportOrganize 和 :syntax 设置一个自动命令,每次我保存一个 java 文件。
au BufWritePost {*.java} silent :JavaImportOrganize :syntax on
这(预计)会产生错误。我试图找到一个包含插件命令(在本例中是从守护程序加载?)和普通命令的 autocmd 示例,但我似乎无法找出正确的语法。
非常感谢任何帮助!
知道确切的错误消息是什么会很有用。在我的机器上,错误是:
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
周围的花括号不是必需的(事实上,我什至不知道它们起作用了 :))。命令前的 :
符号不是必需的——它们用于命令行模式,但在脚本中完全可选。
我正在尝试为 运行 Eclim 命令 :JavaImportOrganize 和 :syntax 设置一个自动命令,每次我保存一个 java 文件。
au BufWritePost {*.java} silent :JavaImportOrganize :syntax on
这(预计)会产生错误。我试图找到一个包含插件命令(在本例中是从守护程序加载?)和普通命令的 autocmd 示例,但我似乎无法找出正确的语法。
非常感谢任何帮助!
知道确切的错误消息是什么会很有用。在我的机器上,错误是:
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
周围的花括号不是必需的(事实上,我什至不知道它们起作用了 :))。命令前的 :
符号不是必需的——它们用于命令行模式,但在脚本中完全可选。