微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim:make编译并运行C代码,如果它是成功的

编译C程序并运行它,我使用“:make”,但是如果编译成功,我也想运行编译的程序.

我写了

au FileType c setlocal makeprg=g++\ %\ \&\&\ ./a.out

在vimrc中,可以使用,但是当我的代码有一些错误时,我有一个vim错误,所以vim不要把光标放在好的线上.
我得到这个错误

E40: Can’t open errorfile
/tmp/vEtUQQ2/0

是否有解决方法,修复或其他方式来实现?

有一种纯粹的vim来做,但这有点烦人.

使用QuickFixCmdPost(Autocmd事件)检查’:make’运行后是否存在建筑错误.
如果没有错误,请运行新编译的程序.

autocmd QuickfixCmdPost make call AfterMakeC()
function! AfterMakeC()
    " No any error after make
    if len(getqflist()) == 0
        !./a.out
    endif
    " :~)
endfunction

您可能希望将脚本放在编译器插件中的命名空间下

原文地址:https://www.jb51.cc/vim/383573.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐