Vim 编辑器全模式操作指南
Vim 是 Linux 系统中最常用的文本编辑器之一,其强大之处在于灵活的工作模式和高效的操作命令。掌握 Vim 的工作模式切换及核心操作,能显著提升文本编辑效率。本文将详细解析 Vim 的 4 种工作模式及常用操作命令
一、Vim 的 4 种工作模式
Vim 的核心是 "模式化编辑",不同模式对应不同的操作场景,模式间可通过特定命令切换。
模式 |
进入方式 |
核心功能 |
命令模式 |
启动 Vim 默认进入 |
执行光标移动、删除、复制等编辑命令 |
输入模式 |
命令模式下通过特定命令进入 |
直接输入 / 编辑文本内容 |
末行模式 |
命令模式下输入: 进入 |
执行保存、退出、查找替换等全局操作 |
可视模式 |
命令模式下通过v/V/ctrl+v 进入 |
选中一块文本进行批量操作(删除、复制等) |
二、模式切换与核心操作
1. 命令模式 ↔ 输入模式(编辑模式)
命令模式是 Vim 的 "控制中心",无法直接输入文本,需切换到输入模式才能编辑内容。以下是从命令模式进入输入模式的常用命令:
命令 |
功能描述 |
i |
在当前光标所在位置开始编辑(光标不动) |
I |
在光标所在行的行首开始编辑 |
o |
在光标所在行下方新建一行并编辑 |
O |
在光标所在行上方新建一行并编辑 |
a |
在光标所在位置后一位开始编辑 |
A |
在光标所在行的行尾开始编辑 |
返回命令模式 :输入模式下按Esc
键(左下角会消失 "--INSERT--" 提示)
2. 命令模式常用快捷键
命令模式下可执行光标移动、删除、复制等操作,无需进入输入模式即可完成高效编辑
(1)光标移动
命令 |
功能描述 |
G |
跳转到文本最后一行 |
gg |
跳转到文本第一行 |
nG /ngg |
跳转到第n 行(如10G 跳转到第 10 行) |
ctrl+f |
向下翻一页(forward) |
ctrl+b |
向上翻一页(backward) |
home /^ /0 |
光标移动到行首 |
end /$ |
光标移动到行尾 |
(2)删除操作
命令 |
功能描述 |
x /Del |
删除光标所在位置的单个字符 |
dd |
删除光标所在行(整行) |
ndd |
删除从光标行开始的n 行(如3dd 删 3 行) |
d^ |
删除从光标前一位到行首的所有内容 |
d$ |
删除从光标位置到行尾的所有内容(含光标) |
(3)复制与粘贴
命令 |
功能描述 |
yy |
复制光标所在行(整行) |
nyy |
复制从光标行开始的n 行(如5yy 复制 5 行) |
p |
在光标行下方粘贴复制的内容 |
P |
在光标行上方粘贴复制的内容 |
(4)查找操作
命令 |
功能描述 |
/关键词 |
从当前位置向下 查找 "关键词"(如/sbin ) |
n |
继续向下查找下一个匹配项 |
N |
向上查找上一个匹配项 |
:noh |
末行模式下执行,取消查找结果的高亮显示 |
三、末行模式操作(命令模式→:
进入)
末行模式用于执行全局操作(如保存、退出、替换等),命令输入在屏幕底部的 "末行",执行后自动返回命令模式
1. 退出与保存
命令 |
功能描述 |
:q |
不保存修改,退出 Vim(若有未保存内容会提示) |
:q! |
强制不保存修改并退出(忽略未保存内容) |
:wq |
保存修改并退出 Vim |
:wq! |
强制保存修改并退出(对只读文件有效,需权限) |
2. 行号与文件操作
命令 |
功能描述 |
:set nu |
显示文本的行号 |
:set nu! |
取消行号显示 |
:w /path/filename |
将当前内容另存为指定文件(如:w /tmp/bb ) |
:e /path/filename |
打开新文件编辑(需先保存当前文件修改) |
:r /path/filename |
读取指定文件内容,插入到当前光标后 |
3. 文本替换(核心功能)
替换命令格式::范围 s/旧内容/新内容/选项
命令示例 |
功能描述 |
:%s/旧/新/g |
替换整个文件 中所有 "旧内容" 为 "新内容"(% 表示全部行,g 表示每行所有匹配) |
:%s/旧/新 |
替换整个文件中每行第一个 "旧内容" 为 "新内容" |
:1,7s/旧/新/g |
替换第 1-7 行中所有 "旧内容" 为 "新内容" |
四、多文件分屏操作
Vim 支持同时打开多个文件并分屏显示,方便对比或编辑
命令 |
功能描述 |
vim file1 file2 -o |
水平分屏显示file1 和file2 (上下排列) |
vim file1 file2 -O |
垂直分屏显示file1 和file2 (左右排列) |
五、可视模式操作(批量处理)
可视模式用于 "选中一块文本" 后批量操作(删除、复制、替换等),按Esc
退出可视模式返回命令模式
模式类型 |
进入方式 |
选中单位 |
典型操作(选中后) |
字符模式 |
命令模式按v |
按单个字符选中 |
x 删除选中内容 |
行模式 |
命令模式按V |
按整行选中 |
dd 删除选中行 |
块模式 |
命令模式按Ctrl+v |
按矩形块选中(如多列) |
批量插入注释(如I# +Esc ) |
总结
Vim 的高效源于 "模式化" 设计:命令模式负责编辑控制,输入模式专注文本录入,末行模式处理全局操作,可视模式简化批量处理。熟练掌握模式切换(尤其是Esc
返回命令模式)和核心命令,能让 Vim 成为日常工作的 "效率利器"。建议通过实际编辑练习(如修改配置文件)加深记忆,逐步形成 "不碰鼠标" 的编辑习惯