在vim中编译运行c++程序不需要频繁切换终端窗口,通过内置命令和简单配置就能实现一站式开发,大幅提升编码效率。下面介绍具体的操作方法。

基础环境准备
首先需要确保系统中已经安装了vim和c++编译器,主流的编译器是gcc,可以通过以下命令检查是否安装:
# 检查vim是否安装 vim --version # 检查gcc是否安装 g++ --version
如果没有安装,可以根据系统类型执行安装命令,以Ubuntu系统为例:
sudo apt update sudo apt install vim g++
单文件编译运行方法
使用vim内置命令直接编译
编辑好c++源文件后,不需要退出vim,直接使用:!命令的格式执行编译和运行操作。假设当前编辑的文件是test.cpp,执行以下步骤:
第一步,编译文件,在vim普通模式下输入以下命令并回车:
:!g++ test.cpp -o test
如果代码没有错误,会生成名为test的可执行文件,有错误的话会在终端显示错误信息,按回车返回vim修改代码即可。
第二步,运行可执行文件,继续输入命令:
:!./test
程序运行结果会直接显示在终端中,同样按回车返回vim。
使用快捷键简化操作
每次输入编译运行命令比较繁琐,可以在vim配置文件~/.vimrc中添加自定义快捷键,实现一键编译运行。编辑vim配置文件:
vim ~/.vimrc
添加以下内容,设置F5键为编译运行快捷键:
" 单文件c++编译运行快捷键,F5触发
map <F5> :call CompileRunC()<CR>
func! CompileRunC()
exec "w" " 先保存文件
" 获取当前文件后缀名
let file_suffix = split(expand("%"), '.')[-1]
if file_suffix == "cpp"
exec "!g++ % -o %<" " %代表当前文件名,%<代表不带后缀的文件名
exec "!./%<"
endif
endfunc
保存配置后,下次编辑c++文件时,按下F5键就会自动保存、编译、运行,不需要再手动输入命令。
多文件项目编译运行
如果项目包含多个c++源文件,直接单文件编译会提示函数未定义等错误,这时候需要指定所有参与编译的文件。假设项目有两个文件main.cpp和func.cpp,可以在vim中执行:
:!g++ main.cpp func.cpp -o main
如果有更多文件,可以逐个列出,也可以使用通配符批量指定:
:!g++ *.cpp -o project
对于更复杂的多文件项目,建议编写Makefile文件,然后在vim中执行:!make命令编译,执行:!./可执行文件名运行,Makefile的编写示例如下:
CC=g++ CFLAGS=-Wall -g TARGET=project SRCS=$(wildcard *.cpp) OBJS=$(SRCS:.cpp=.o) $(TARGET):$(OBJS) $(CC) $(CFLAGS) -o $(TARGET) $(OBJS) %.o:%.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJS) $(TARGET)
常见问题解决
- 编译时提示
g++: command not found,说明没有安装gcc编译器,按照基础环境准备的步骤安装即可。 - 运行可执行文件时提示权限不足,可以执行
:!chmod +x 可执行文件名添加执行权限。 - 修改配置后快捷键不生效,需要重启vim或者执行
:source ~/.vimrc重新加载配置。
vimcppcompile_rungcc修改时间:2026-07-17 22:48:10