Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 用于运行Eclim的autocmd';s:JavaImportorOrganize_Vim_Eclim_Autocmd - Fatal编程技术网

Vim 用于运行Eclim的autocmd';s:JavaImportorOrganize

Vim 用于运行Eclim的autocmd';s:JavaImportorOrganize,vim,eclim,autocmd,Vim,Eclim,Autocmd,我试图设置一个autocmd,以便在每次保存java文件时运行Eclim命令:JavaImportOrganize和:syntax au BufWritePost {*.java} silent :JavaImportOrganize :syntax on 这(预期)会产生错误。我试图找到一个autocmd示例,其中包含一个插件命令(在本例中是从守护进程加载的?)和一个普通命令,但我似乎无法找到正确的语法 非常感谢任何帮助 了解确切的错误信息将非常有用。在我的机器上,错误是: Error de

我试图设置一个autocmd,以便在每次保存java文件时运行Eclim命令:JavaImportOrganize和:syntax

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:|
):

现在,在我的实验中,这并没有起作用,因为上的
|语法可能被认为是
JavaImportOrganize
调用的一部分。因此我不得不使用
exe
:help:execute
了解更多信息):

完整调用如下所示:

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

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

谢谢!很抱歉没有提到这个错误。我注意到使用“静默”有一个问题:它会抑制“按Enter”消息,但同时也会删除在导入时有多个库可供选择时弹出的对话框。是否有办法使命令仅抑制“按Enter键”,而不抑制“库选择”对话框?谢谢。如果“按Enter键”消息是由于长时间输出造成的,您可以尝试
:set shortmess+=T
(请参阅
:帮助避免点击Enter
),但这是一个全局设置。除此之外,我想不出什么。
:silent exe 'JavaImportOrganize' | syntax on
 au BufWritePost *.java silent exe 'JavaImportOrganize' | syntax on