我想要一个Build
独立于使用的构建系统启动构建的命令。
command! -nargs=* Build :Makeshift<Bar>MakeshiftBuild <args>
给我
E488: Trailing characters
任何一个都可以映射并工作,但是两者都会产生错误。我-bar
在我的地图上尝试过。我无法更改 Makeshift 来使用它。
以下作品:
function! s:BuildFun(what2build)
execute 'Makeshift'
execute 'MakeshiftBuild '.a:what2build
endfunction
command! -nargs=* Build :call s:BuildFun(<q-args>)
有人可以澄清一下,为什么单行不起作用或如何使其起作用。只是为了获得洞察力。
答案1
答案在评论中:Makeshift
是在没有参数的情况下定义的-bar
。来自维姆help command
:
-bar The command can be followed by a "|" and another command.
A "|" inside the command argument is not allowed then.
Also checks for a " to start a comment.
在这种情况下,无需分叉插件存储库,因为可以使用该函数的解决方法,如上所示。这就是一般的解决方案,如中指出的https://stackoverflow.com/a/3266791/1803897。