Vim 编辑器全模式操作指南

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 水平分屏显示file1file2(上下排列)
vim file1 file2 -O 垂直分屏显示file1file2(左右排列)

五、可视模式操作(批量处理)

可视模式用于 "选中一块文本" 后批量操作(删除、复制、替换等),按Esc退出可视模式返回命令模式

模式类型 进入方式 选中单位 典型操作(选中后)
字符模式 命令模式按v 按单个字符选中 x删除选中内容
行模式 命令模式按V 按整行选中 dd删除选中行
块模式 命令模式按Ctrl+v 按矩形块选中(如多列) 批量插入注释(如I#+Esc

总结

Vim 的高效源于 "模式化" 设计:命令模式负责编辑控制,输入模式专注文本录入,末行模式处理全局操作,可视模式简化批量处理。熟练掌握模式切换(尤其是Esc返回命令模式)和核心命令,能让 Vim 成为日常工作的 "效率利器"。建议通过实际编辑练习(如修改配置文件)加深记忆,逐步形成 "不碰鼠标" 的编辑习惯

相关推荐
刘一说2 分钟前
CentOS 系统 Java 开发测试环境搭建手册
java·linux·运维·服务器·centos
wdxylb6 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20077 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪7 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk9 小时前
Linux 正则表达式
linux·运维
Fireworkitte10 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil90011 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char11 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
雷工笔记12 小时前
【软件安装】VScode介绍安装步骤及中文界面设置方法
ide·vscode·编辑器
淮北也生橘1213 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习