繁体   English   中英

VIM用户定义的函数映射无法按预期工作

[英]VIM user defined function mapping doesn't work as I expected

我希望在编辑目录下的某些源文件时,按会触发cmake并进行构建,如下所示:

command -bang -nargs=? Umake call Myfunction(<bang>0)
function! Myfunction(forced)
    lcd %:p:h
    call system('cmake && make')
endfunction
nmap <F5> :Umake<cr>

此代码段是从Internet复制的,并做了一些修改,不太确定是否完全可以。 重新输入vim后,按,左下角的命令窗口显示“:Su”,但没有任何反应。

(1)为什么什么也没发生,Myfunction中有语法问题? (2)“ command -bang”行是否必要? 这里的0是什么意思?

谢谢。

您不想使用system()进行编译

改为设置:let &makeprg = 'cd "compilation/dir" && make $*' 然后:make target -j 12

同样,build-tool-wrappers插件已经可以处理源代码外的树编译(具有多个编译目录),目标检测,后台编译...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM