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 成为日常工作的 "效率利器"。建议通过实际编辑练习(如修改配置文件)加深记忆,逐步形成 "不碰鼠标" 的编辑习惯

相关推荐
虚伪的空想家13 小时前
KVM的ubuntu虚机如何关闭安全启动
linux·安全·ubuntu
t1987512819 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk816319 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
晚风吹人醒.20 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Hard but lovely20 小时前
linux: pthread库的使用和理解
linux
这儿有一堆花1 天前
Kali Linux:探测存活到挖掘漏洞
linux·运维·服务器
松涛和鸣1 天前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
皮小白1 天前
ubuntu开机检查磁盘失败进入应急模式如何修复
linux·运维·ubuntu
邂逅星河浪漫1 天前
【CentOS】虚拟机网卡IP地址修改步骤
linux·运维·centos
hhwyqwqhhwy1 天前
linux 驱动开发相关
linux·驱动开发