呼唤;“设置”;vim自定义命令中的命令

呼唤;“设置”;vim自定义命令中的命令,vim,Vim,我正试图在Vim中编写一个自定义命令,以便更容易地为源代码外构建设置makeprg变量。在阅读了指挥手册之后,到目前为止,我已经做到了这一点 command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR> 命令-complete=file-nargs=1 Cmakeprg调用集makeprg=cmake--build 但它不起作用。如何在命令中调用“set”?在“s

我正试图在Vim中编写一个自定义命令,以便更容易地为源代码外构建设置makeprg变量。在阅读了指挥手册之后,到目前为止,我已经做到了这一点

command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR>
命令-complete=file-nargs=1 Cmakeprg调用集makeprg=cmake--build
但它不起作用。如何在命令中调用“set”?

在“set”前面添加冒号,并使用
执行它:
:set…

不要使用
call

您的
:call
函数,
:set
是一个Ex命令,就像
:call
(使用
前缀调用)一样

:set
的一个复杂之处是必须用
\
转义空格,但这可以通过使用
:let
&选项来避免,并且
自动引用传递的命令参数

您也不需要
;这不是一个映射。综上所述:

command! -complete=file -nargs=1 Cmakeprg let &makeprg = 'cmake --build ' . <q-args>
命令-complete=file-nargs=1 Cmakeprg let&makeprg='cmake--build'。