在vim自定义命令中调用“set”命令

时间:2013-05-16 14:41:18

标签: vim

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

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

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

2 个答案:

答案 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