vim 配置C/C++单文件无参数编译运行

本文介绍了如何使用vimscript编写函数,通过配置按键映射实现C/C++代码的快速编译和运行。通过搜索代码中的特定关键字,动态决定是否链接额外的库。按下F1键即可调用函数SingleCompile()完成整个流程,提高了开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初学vim的时候,曾经使用的一个功能,现在明白了写法原理,小小重构记录一下

原理

vimscript是一门脚本语言,定义了vim的各种配置行为,本文功能的实现即使用vimscript编写函数,并且配置函数的调用映射,来达到在vim中编译运行C/C++的目的

func! SingleCompile()
    exec "w"
    let compile_cmd="!g++"
    if &filetype == "c"
        compilecmd ="!gcc"
    endif
    let compile_arg=" -o %< "
    if search("thread")
        let compile_arg .= " -lpthread "
    endif
    exec compile_cmd." % ".compile_arg
    exec "! ./%<"
endfunc

nnoremap <F1> :call SingleCompile()<cr>
参数解释

exec "w" 表示保存缓冲区
" -o %< " %表示当前文件名, %< 表示没有后缀的文件名
.= 字符串拼接 类似于 C++中的 +=
search函数查找文本内含有的关键字,或者头文件,从而判断用不用链接一些动态库
exec compile_cmd." % ".compile_arg 等同于 g++/gcc $filename.cpp -o filename -l…
nnoremap <F1> :call SingleCompile()<cr>最后映射一个非递归的normal模式下的映射,即按F1调用SingleCompile函数

其他

看懂了如何编译运行C/C++ 同理,java go等也可以自定义写了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值