Linux 入门必备:Vim 常用命令与 GCC 编译详解
学习 Linux 开发,Vim 编辑器和 GCC 编译器是两个必须掌握的基础工具。本文带你快速上手它们的常用操作。
一、Vim 编辑器
Vim 是一个功能强大的文本编辑器,拥有多种模式,最常用的是命令模式和插入模式。
1. 进入与退出
vim test.c # 用 Vim 打开(或创建)test.c 文件
进入后默认处于命令模式。要退出 Vim,在命令模式下输入 :q(退出)、:wq(保存并退出)或 :q!(强制退出,不保存)。
2. 插入模式(编辑文本)
在命令模式下,按以下键进入插入模式:
| 按键 | 作用 |
|---|---|
i |
在光标前开始插入 |
a |
在光标后开始插入 |
o |
在下一行新开一行插入 |
按 Esc 键返回命令模式。
3. 移动光标(命令模式)
使用键盘上的 h j k l 分别控制左、下、上、右移动。
也可以使用方向键,但习惯 hjkl 可以提高效率。
4. 快速跳转
| 命令 | 作用 |
|---|---|
gg |
跳转到文件第一行 |
G |
跳转到文件最后一行 |
:n |
跳转到第 n 行(如 :10) |
5. 自动格式化代码
gg=G
解释:gg 跳到文件开头,= 自动缩进,G 跳到文件末尾 —— 组合起来就是格式化整个文件。
如果格式化没有效果,可以在 Vim 中执行 :set cindent 或确保 ~/.vimrc 里有 filetype indent on。
6. 删除文本
| 命令 | 作用 |
|---|---|
x |
删除光标所在字符 |
dd |
删除光标所在整行 |
dw |
删除从光标到单词末尾 |
7. 复制与粘贴
| 命令 | 作用 |
|---|---|
yy |
复制光标所在行 |
p |
在光标后粘贴内容 |
p 粘贴整行时会在当前行下方新开一行;粘贴字符时则在光标后。
8. 查找
在命令模式下输入 / 加上要查找的关键词,例如:
/printf
按 n 跳转到下一个匹配项,N 跳转到上一个。
二、GCC 编译器
GCC(GNU Compiler Collection)是最常用的 C/C++ 编译器。下面用一个简单的 hello.c 示例程序来演示编译过程。
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
1. 编译的四个阶段
GCC 将源代码变成可执行文件需要经过:预处理 → 编译 → 汇编 → 链接。我们可以分步查看中间结果。
| 命令 | 作用 | 生成的文件 |
|---|---|---|
gcc -E hello.c -o hello.i |
预处理(展开头文件、宏等) | hello.i |
gcc -S hello.i -o hello.s |
编译成汇编代码 | hello.s |
gcc -c hello.s -o hello.o |
汇编成目标文件(机器码) | hello.o |
gcc hello.o -o hello |
链接生成可执行文件 | hello |
打开 hello.i 可以看到,#include <stdio.h> 已被展开;
hello.s 里是汇编语言;hello.o 是二进制目标文件。
💡 补充说明:
上表中,第 2 步(编译成汇编)和第 3 步(汇编成目标文件)的输入文件分别写成了hello.i和hello.s,这是为了严格展示四个阶段的中间产物。实际上,
gcc -S和gcc -c也可以直接接收.c源文件作为输入,例如:
gcc -S hello.c -o hello.s(一步完成预处理+编译,生成汇编文件)gcc -c hello.c -o hello.o(一步完成预处理+编译+汇编,生成目标文件)两种写法最终得到的
.s或.o文件内容是完全相同的。区别在于:
链式写法(如表中所示)会保留
.i、.s等中间文件,适合学习编译原理。直接写法(用
.c)不会生成.i,但更快捷,适合日常开发。
2. 一步完成编译
gcc hello.c -o hello
这条命令一次性完成预处理、编译、汇编和链接,直接生成可执行文件 hello。
3. 运行程序
./hello
注意 ./ 和文件名之间没有空格,表示运行当前目录下的 hello 程序。
4. 常用选项汇总
| 选项 | 含义 |
|---|---|
-E |
只进行预处理 |
-S |
生成汇编文件(.s) |
-c |
生成目标文件(.o),不链接 |
-o |
指定输出文件名 |
-g |
生成调试信息(供 GDB 使用) |
-Wall |
显示所有警告信息 |
三、小结
本文介绍了 Vim 的基本编辑命令和 GCC 的编译流程。掌握这些基础操作后,你就可以在 Linux 环境下编写、编译和运行 C 程序了。
练习建议:
- 用 Vim 写一个简单的
hello.c - 尝试分步执行
gcc -E、-S、-c并观察生成的文件 - 用
./运行最终的可执行文件
更多推荐




所有评论(0)