关键词:Vim、Linux文本编辑器 、命令模式、 插入模式、 正则替换、 批量注释
适用人群:Linux 系统运维人员、Shell /Python / C 开发者
在 Linux 系统中,Vim(Vi Improved) 是一款强大且高效的文本编辑器,被广泛应用于系统运维、Shell 脚本开发、配置文件编辑等场景。
相较于传统的 Vi,Vim 拥有更强的功能、更丰富的插件系统和更友好的交互体验,其特点如下:
- 轻量、快速、无依赖图形界面;
- 支持语法高亮、自动缩进;
- 支持多文件、多窗口编辑;
- 拥有强大的查找与替换功能;
- 可通过插件系统实现无限扩展。
本文将从 安装检测 → 模式切换 → 常用命令 → 编辑实例 → 常见问题 → 进阶技巧 等方面,带你系统掌握 Vim 的核心使用方法。
一、安装与版本查看
大多数 Linux 发行版默认已安装 Vim,可通过以下命令确认:
vim --version
输出示例:
VIM - IMproved 7.4 (2013 Aug 10, compiled Oct 30 2018 19:56:57)
Included patches: 1-1763
Compiled by OpenAnolis Community
Huge version without GUI. Features included (+) or not (-):
+acl +mouse_sgr -tag_any_white ...
若系统未安装,可使用包管理器安装:
| 操作系统 | 安装命令 |
|---|---|
| CentOS / Alibaba Cloud Linux | sudo yum install vim -y |
| Ubuntu / Debian | sudo apt install vim -y |
| openSUSE | sudo zypper install vim |
| Fedora | sudo dnf install vim |
二、Vim 的五种模式与切换关系
Vim 的核心思想是“模式编辑”,不同模式承担不同的功能。
| 模式 | 英文名 | 功能描述 | 进入方式 | 退出方式 |
|---|---|---|---|---|
| 普通模式 | Normal Mode | 浏览、复制、删除、粘贴等 | 打开文件默认进入 | Esc |
| 插入模式 | Insert Mode | 输入或修改文本 | i、a、o 等 | Esc |
| 替换模式 | Replace Mode | 替换已有字符 | R | Esc |
| 可视模式 | Visual Mode | 块选中操作(复制、注释等) | v | Esc |
| 命令模式 | Command Mode | 执行保存、退出、查找等命令 | : | 回车执行命令后自动返回普通模式 |

当 Vim 左下角显示
-- INSERT --或-- VISUAL --时,即表明当前处于对应模式。
三、常用基础操作命令汇总
1. 打开与切换文件
-
vim filename:打开单个文件。进入普通模式,如果文件不存在,Vim会新建一个文件。 -
vim filename1 filename2: 打开多个文件。- 默认进入第一个filename1,正常编辑并使用
:w保存filename1后,输入:bn进入下一个filename2,正常编辑并使用:w保存filename2。 - 输入
:bp进入前一个filename1。 - 输入
:ls可以查看编辑列表。
- 默认进入第一个filename1,正常编辑并使用
-
:open filename3:在Vim的命令模式下打开一个新的文件进行编辑。执行该命令前,请先使用:w保存原编辑文件。
2. 光标移动(普通模式)
| 操作 | 按键 |
|---|---|
| 上移 | k 或 ↑ |
| 下移 | j 或 ↓ |
| 左移 | h 或 ← |
| 右移 | l 或 → |
在插入模式下, 只能通过上、下、左、右方向键移动光标。
3. 插入内容
在普通模式下,按i,I,a,A,o,O中任一字符即可进入插入模式。
| 命令 | 功能 |
|---|---|
i | 当前字符左侧插入 |
I | 行首插入 |
a | 当前字符右侧插入 |
A | 行尾插入 |
o | 当前行下方新建一行 |
O | 当前行上方新建一行 |
4. 复制粘贴
类似于Word文档编辑器里Ctrl+C和Ctrl+V。在普通模式下:
yy:复制光标所在的行内容。可以直接使用p进行粘贴。nyy:n为数字。例如2yy,复制光标所在行和下一行内容,即复制2行。p:粘贴到光标所在的下一行。P:粘贴到光标所在的上一行。
5. 删除
- 在普通模式下
- 删除单个字符:按键盘
x键删除当前光标所在位置的字符。 - 删除整行:按键盘
dd删除当前行。类似于Word文档编辑器里Ctrl+X,可以直接使用p进行粘贴。 - 删除上一行:按键盘
dk删除当前行和上一行。 - 删除下一行:按键盘
dj删除当前行和下一行。 dG:按键盘dG删除当前行至文档末尾。nx:n为数字。删除光标高亮的字符及其后面的n-1个字符。ndd:n为数字。删除光标所在行及其下面的n-1行。类似于Word文档编辑器里Ctrl+X,可以直接使用p进行粘贴。
- 删除单个字符:按键盘
- 在插入模式下
- 将光标移动到想要删除内容的右侧,键入
Delete键。
- 将光标移动到想要删除内容的右侧,键入
6. 查询
在普通模式下
/text:查询 text,默认精确匹配,回车后高亮显示命中字符。- 如果要忽略大小写进行查询,先执行
:set ignorecase。执行:set noignorecase返回精确匹配。
- 如果要忽略大小写进行查询,先执行
n:光标向下查询或下一个。N:光标向上查询或上一个。
7. 替换
- 在普通模式下
r:直接替换光标高亮的字符。R:进入替换模式,连续替换光标高亮的字符,直至按下Esc键退出替换模式。cc:直接删除光标所在的行,并进入插入模式。:%s/oldtext/newtext/g:查询所有oldtext并替换为newtext。/g表示全部替换,若不加,则只替换所有行的第一个匹配。
- 在插入模式下
- 通过删除内容、插入内容的方式进行内容替换。
8. 撤销与重做
在普通模式下
u:撤销插入或修改。类似于Word文档编辑器里的Ctrl+Z。U:撤销对上一次行内容的所有插入和修改。Ctrl+r:重做,即恢复撤销。相当于Word文档编辑器里的重做Ctrl+Y。
9. 缩进与排版
- 在普通模式下
>>:整行向右缩进。默认值为8,即默认缩进一个制表符(Tab)的空格数。<<:整行向左缩进。
- 在命令模式下
:ce:整行居中对齐。:le:整行向左对齐。:ri:整行向右对齐。
10. 注释代码
- 在可视模式下
- 注释连续多行代码
- 上下移动光标选中待注释的行。
- 按
:进入命令行模式,此时会自动填充:'<,'>,表示对选中的范围进行操作。 - 输入替换命令,例如要在每行前添加 #,输入
s/^/#/然后按Enter。
- 注释所有代码:输入替换命令
:%s/^/#/g,全文使用#进行注释。
- 注释连续多行代码
- 在插入模式下
- 手动插入注释符号的方式注释代码。
11. 保存与退出
- 保存文件:在普通模式下输入 :w并按下回车键。
- 退出 Vim:输入
:q并按下回车键。 - 保存并退出:输入
:wq或:x并按下回车键,或直接使用ZZ命令。 - 强制退出不保存:输入
:q!并按下回车键。 - 强制退出并保存:输入
:wq!并按下回车键。
四、常见问题与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| No write since last change | 文件已修改未保存 | 使用 :wq 保存退出 |
| 无法输入文字 | 处于可视模式 | 按 Esc 返回普通模式 |
| 保存失败 | 权限不足 | 使用 sudo vim filename 或 :w !sudo tee % |
存在 .swp 文件 | 文件被其他 Vim 占用 | 使用 :recover 或删除 .swp 文件 |
五、Vim 升级方法
CentOS / Alibaba Cloud Linux
sudo yum update vim
Ubuntu / Debian
sudo apt upgrade vim
总结
Vim 的强大不仅体现在命令多,而是它的“高效与极简”。
掌握五种模式的切换、熟悉常用命令,再配合正则、宏与插件,就能真正发挥 Vim 的生产力潜能。
建议:
- 初学者先熟悉 插入-编辑-保存-退出 流程;
- 进阶用户可深入学习宏录制、多窗口操作与自定义快捷键配置。
139

被折叠的 条评论
为什么被折叠?



