我想在Vim中編寫一個自定義命令,以便爲out-of-source構建設置makeprg變量更容易。看了命令手冊,到目前爲止,我只要這在vim自定義命令中調用「set」命令
command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR>
了,但它無法正常工作。如何在命令中調用「set」?
我想在Vim中編寫一個自定義命令,以便爲out-of-source構建設置makeprg變量更容易。看了命令手冊,到目前爲止,我只要這在vim自定義命令中調用「set」命令
command! -complete=file -nargs=1 Cmakeprg call set makeprg=cmake --build <args><CR>
了,但它無法正常工作。如何在命令中調用「set」?
您:call
功能,:set
是Ex命令就像:call
(因爲它與:
前綴調用)。
與:set
併發症是空白必須\
可以逃過一劫,但可以通過使用:let
與&option
避免和<q-args>
自動報價傳遞的命令參數。
你也不需要<CR>
;這不是一個映射。採取一切:
command! -complete=file -nargs=1 Cmakeprg let &makeprg = 'cmake --build ' . <q-args>
添加一個冒號的「設置」前和使用<CR>
來執行它::set … <CR>
不要使用call
。
謝謝,這完美的作品! – user588241