[英]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.