在另一个用户定义的 vim 命令中使用用户定义的 vim 命令

Use a user defined vim command inside another user defined vim command

我正在尝试在 vim 中自定义命令,如下所示: 第一个命令只是 运行 一个 bash 脚本。这本身就可以正常工作。

:command Build :!./build-linux.sh

现在我想在另一个中使用这个命令,例如:

:command BuildAndDebug :Build | :call vimspector#Launch()

此命令应该 运行 bash 脚本,然后启动调试器。 当我尝试这样做时,我得到了这个错误:

E488: Trailing characters: :Build | :call vimspector#Launch() 

我在这里似乎找不到尾随字符。我怀疑 :Build 是造成这种情况的原因,因为它不知道命令在哪里结束。但是我似乎根本无法让它工作。

如果您希望能够在命令定义之后使用 |:

“链接”其他命令,则需要将 -bar 属性添加到您的命令定义中
:command -bar Build :!./build-linux.sh

用户手册第 40 章对此进行了描述::help usr_40,并记录在 :help :command-bar