第一步:环境准备
在开始之前,请确保你的系统已经安装了必要的工具。

安装编译器 GCC
GCC (GNU Compiler Collection) 是最常用的 C 语言编译器。
-
在 Linux (Debian/Ubuntu) 上:
sudo apt update sudo apt install build-essential # 这个包会自动安装 gcc, g++, make 等常用工具
-
在 Linux (Fedora/CentOS) 上:
sudo dnf install gcc
-
在 macOS 上: 如果你安装了 Xcode Command Line Tools,就已经包含了 GCC (或其变体 Clang)。
(图片来源网络,侵删)xcode-select --install
-
在 Windows 上: 最简单的方法是安装 MinGW-w64,你可以通过以下方式安装:
- 推荐方式:使用 MSYS2,这是一个强大的、类似 Linux 的环境,安装后,打开 MSYS2 MINGW64 终端,然后运行:
pacman -S mingw-w64-x86_64-gcc
- 旧方式:直接下载安装,从 MinGW-w64 官网 下载并按照说明配置环境变量。
- 推荐方式:使用 MSYS2,这是一个强大的、类似 Linux 的环境,安装后,打开 MSYS2 MINGW64 终端,然后运行:
安装 GVim
如果你还没有 GVim,可以从它的官方网站下载:
(可选但强烈推荐)安装 GDB
GDB (GNU Debugger) 是强大的命令行调试工具。
- 在 Linux 上:
sudo apt install gdb # (Debian/Ubuntu) sudo dnf install gdb # (Fedora/CentOS)
- 在 macOS 上: 通常随 Xcode Command Line Tools 一起安装。
- 在 Windows (MSYS2) 上:
pacman -S mingw-w64-x86_64-gdb
第二步:使用 GVim 编写 C 代码
-
打开 GVim。
(图片来源网络,侵删) -
创建新文件:在 GVim 的命令模式(默认模式)下,输入 ,然后输入
new hello.c,按回车,这会创建一个名为hello.c的新文件。 -
进入插入模式:按
i键,进入插入模式,开始输入代码。#include <stdio.h> int main() { printf("Hello, Vim!\n"); return 0; } -
保存文件:按
Esc键回到命令模式,然后输入w并回车,保存文件。
第三步:在 GVim 中编译和运行 C 代码
这是最核心的步骤,我们将在 GVim 的命令模式下,使用 命令来执行外部 shell 命令。
编译代码
在 GVim 的命令模式下,输入以下命令并回车:
:!gcc hello.c -o hello
- 告诉 GVim 执行一个外部 shell 命令。
gcc hello.c:调用 GCC 编译器编译hello.c文件。-o hello:指定输出的可执行文件名为hello(在 Windows 上会是hello.exe)。
执行后,你会暂时退出 GVim,看到一个黑色的终端窗口,显示编译过程,如果代码没有错误,终端会很快关闭,并自动返回 GVim。
运行程序
编译成功后,再次在 GVim 的命令模式下输入以下命令并回车:
:!./hello
- 同样,执行外部命令。
./hello:在当前目录下运行刚刚生成的hello可执行文件。
这次,你会看到程序的输出:
Hello, Vim!
运行完毕后,终端窗口会关闭,返回 GVim。
第四步:创建快捷键,提高效率
每次都输入 !gcc ... 和 很麻烦,我们可以通过配置 .vimrc 文件来创建快捷键。
-
打开/创建
.vimrc文件: 在 GVim 的命令模式下输入::edit ~/.vimrc
如果文件不存在,GVim 会自动创建一个。
-
添加以下配置: 将下面的代码复制并粘贴到
.vimrc文件中。" C/C++ 编译和运行快捷键 " F5: 编译当前 C 文件 nnoremap <F5> :w<CR>:!gcc -Wall % -o %<CR> " F6: 运行当前 C 程序 nnoremap <F6> :!./%<CR> " F7: 先编译,再运行 (如果编译成功) nnoremap <F7> :w<CR>:!gcc -Wall % -o %<CR>:!./%<CR> " F8: 调试当前 C 程序 (需要 GDB) nnoremap <F8> :w<CR>:!gcc -g % -o %<CR>:!gdb %<CR>
-
保存并关闭
.vimrc: 在 GVim 的命令模式下输入wq并回车。 -
重新加载配置: 为了让新配置生效,可以在 GVim 中输入
source ~/.vimrc,或者直接重启 GVim。
配置解释:
nnoremap <F5> ...:定义在普通模式(Normal mode)下,按F5键执行后面的命令。w<CR>:<CR>代表回车,这句是先保存当前文件。!gcc -Wall % -o %<CR>:- 是一个特殊变量,代表当前正在编辑的文件名(
hello.c)。 -Wall是一个非常重要的选项,它会开启所有常见的警告(Warnings),帮助你发现潜在的错误。-o %<:%<是 的文件名部分,不带扩展名。hello.c的%<hello。
- 是一个特殊变量,代表当前正在编辑的文件名(
!./%<CR>:运行生成的可执行文件。
你可以:
- 按
F5编译。 - 按
F6运行。 - 按
F7先编译后运行。 - 按
F8进入 GDB 调试模式。
第五步:使用 GDB 进行调试
当程序出现逻辑错误时,就需要调试了。
-
编译时加上调试信息: 要使用 GDB,编译时必须加上
-g选项,这样 GDB 才能加载源代码信息。 在 GVim 中按F8,它会自动执行gcc -g hello.c -o hello,然后启动gdb hello。 -
进入 GDB 后: 你会进入一个新的 GDB 界面,这里是一些常用的 GDB 命令:
GDB 命令 作用 GVim 中如何输入 break main或b main在 main函数入口设置断点在 GVim 的 GDB 界面中直接输入 b main并回车run或r开始运行程序,直到遇到断点 输入 r并回车next或n执行下一行代码(不进入函数) 输入 n并回车step或s执行下一行代码(如果遇到函数则进入) 输入 s并回车print i或p i打印变量 i的值输入 p i并回车continue或c继续运行,直到下一个断点或程序结束 输入 c并回车quit或q退出 GDB 输入 q并回车 -
退出 GDB: 调试完成后,输入
quit或q退出 GDB,你会回到 GVim 编辑器。
总结与进阶
| 任务 | GVim 命令 |
|---|---|
| 编写代码 | i (进入插入模式) -> 输入代码 -> Esc -> w |
| 编译 | !gcc -Wall % -o %< |
| 运行 | !./%< |
| 编译并运行 | !gcc -Wall % -o %< && ./%< |
| 调试 | !gcc -g % -o %< && gdb %< |
| 创建快捷键 | 编辑 ~/.vimrc 文件,使用 nnoremap |
进阶提示:
- 插件:GVim 的强大之处在于其插件生态,你可以安装插件来获得更强大的 C 语言开发体验,
- YouCompleteMe:提供强大的代码自动补全功能。
- vim-dispatch:可以在后台异步运行编译和测试任务,不阻塞 GVim。
- vim-fugitive:与 Git 版本控制无缝集成。
- Makefile:对于复杂的项目,手动编译命令会很繁琐,学习编写
Makefile是一个很好的习惯,然后在 GVim 中用make命令来编译整个项目。
现在你已经掌握了在 GVim 中编写、编译、运行和调试 C 语言程序的基本流程,享受这个高效的纯文本编程之旅吧!
