「Linux 系统编程」Vim 的安装及基本操作
0 Vim 的安装和配置
vi 编辑器是所有 Linux 系统的标准编辑器,而 Vim 是从 vi 发展出来的一个文本编辑器,具有代码补全、编译及错误跳转等方便编程的功能。
Vim 的安装命令:
1 | |

创建一个配置文件 ~/.vimrc,以下是我在文件中添加的 Vim 基础配置:
1 | |
/etc/vim/vimrc 是 Vim 的全局配置文件,适用于所有用户,可以在其中设置 Vim 的默认行为和功能。~/.vimrc 用于保存 个人用户自定义 的启动设置、插件加载方式、界面优化选项等,比 /etc/vim/vimrc 优先级更高。
用 vim 打开 ~/.vimrc 文件查看或修改配置:

1 Vim 的工作模式
1.1 Vim 的三种核心工作模式
-
命令模式 (Command Mode):
启动后的默认模式,用于 导航(
h/j/k/l移动光标)和 命令(例如进行d删除、y复制、p粘贴等文本操作)。
-
插入模式 (Insert Mode):
在命令模式下,按
i进入插入模式,可自由编辑文本。还有其他常用的进入插入模式的命令:1
2
3
4
5
6
7
8i " 光标前插入
I " 行首插入
a " 光标后插入
A " 行末插入
o " 下行插入
O " 上行插入
s " 删字符插入
S " 删行插入
-
命令行模式 (Command-Line Mode):
按
:输入命令。常用的操作包括:- 文件操作:
:w保存,:q退出,:wq保存并退出,:q!强制退出。 - 搜索替换:
:%s/待替换内容/替换内容/g全局替换;:s/待替换内容/替换内容/g替换光标所在单行中所有待替换内容;:22,33s/待替换内容/替换内容/g替换第 22 - 33 行之间所有待替换内容。 - 配置管理:
:set number - 插件命令:
:PlugInstall

- 文件操作:
1.2 Vim 三种核心工作模式的关系

图片来源:https://www.runoob.com/linux/linux-vim.html
1.3 Vim 的可视模式
按 v 进入 可视模式 (Visual Mode),主要用于文本范围选择。通过光标起始位置 + hjkl 移动可以选择文本。后续可以对选择的文本删除(剪切)、复制粘贴等操作。

可视模式 还包含 行可视模式(V 进入)、块可视模式(Ctrl + v 进入)。
2 Vim 的跳转和删除操作
2.1 光标跳转
0跳转到行首$跳转到行尾gg跳转到文件的首行G跳转到文件的末行233G跳转到文件的第 23 行(也可以命令行模式下通过:233跳转)%配对的括号之间跳转
2.2 精准删除
x删除光标处的 1 个字符dw删除 1 个单词(光标需要单词首位)d0删至行首d$或D删至行尾dd删除整行7dd删除光标所在行及以下共 7 行r替换光标选中的字符,再按下替换字符对应按键替换为目标字符(也可以命令行模式下通过:s/old/new将当前行首个 old 替换为 new)
2.3 删除指定区域
光标选中要删除的首字符,按 v 进入可视模式,再使用 hjkl 移动到要删除的末尾,按 d 删除。

3 Vim 的复制粘贴操作
3.1 精准复制粘贴
y复制光标所在字符yy复制光标所在行7yy复制光标所在行及以下共 7 行p在光标后粘贴(整行则粘贴到下一行)P在光标前粘贴(整行则粘贴到上一行)
3.2 复制指定区域
光标选中要删除的首字符,按 v 进入可视模式,再使用 hjkl 移动到要删除的末尾,按 y 复制指定区域。
3.3 复制和删除的关系
在 Vim 的跳转和删除操作 中涉及的删除操作其实都是 剪切,删除的内容都会进入剪切板,可用 p/P 粘贴。
4 Vim 的查找和替换操作
4.1 查找(命令模式)
1 | |
4.2 替换(末行模式)
1 | |
5 Vim 的其他操作
- 撤销与重做
1 | |
- 分屏操作
1 | |
- 集成系统工具
1 | |
- 自动排版
v 进入可视模式,然后选中代码区域,按下 = 可以自动排版指定区域。
1 | |