我正在尝试在Vim中编写一个自定义命令,以便更轻松地为源外构建设置makeprg变量。阅读了命令手册,到目前为止,我已经到了这个
command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR>
但它不起作用。如何在命令中调用“set”?
答案 0 :(得分:3)
你:call
函数,:set
是一个 Ex命令,就像:call
一样(因为:
调用它前缀)。
:set
的复杂功能是必须使用\
转义空白,但使用:let
&option
和<q-args>
可以避免这种情况自动引用传递的命令参数。
您也不需要<CR>
;这不是映射。总而言之:
command! -complete=file -nargs=1 Cmakeprg let &makeprg = 'cmake --build ' . <q-args>
答案 1 :(得分:0)
在“设置”前添加冒号并使用<CR>
执行它::set … <CR>
请勿使用call
。