1

我正在尝试在 Vim 中编写一个自定义命令,以便更轻松地设置 makeprg 变量以进行源外构建。阅读了命令手册,到目前为止我已经做到了

command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR>

但它不起作用。如何在命令中调用“set”?

4

2 回答 2

3

You :call functions ,:set是一个Ex 命令,就像(因为它使用前缀:call调用)。:

一个复杂的问题:set是空格必须用 进行转义\,但是可以通过使用 , 来避免:let这种情况&option,并<q-args>自动引用传递的命令参数。

你也不需要<CR>;这不是映射。综上所述:

command! -complete=file -nargs=1 Cmakeprg let &makeprg = 'cmake --build ' . <q-args>
于 2013-05-16T14:56:59.567 回答
0

在“set”前面加一个冒号,用a<CR>来执行::set … <CR>

不要使用call.

于 2013-05-16T14:52:30.830 回答