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

相关推荐
☞下凡☜14 分钟前
C语言(20250722)
linux·c语言·开发语言
您的通讯录好友30 分钟前
TechGPT2部署
linux·人工智能·python·大模型·techgpt
charlie1145141911 小时前
快速入门Socket编程——封装一套便捷的Socket编程——导论
linux·网络·笔记·面试·网络编程·socket
贺贺丿2 小时前
Docker4-容器化企业级应用
linux·nginx·docker·云原生·eureka·tomcat·ssh
唐青枫2 小时前
Linux 如何统计系统上各个用户登录(或者登出)记录出现的次数?
linux
唐青枫3 小时前
Vim 进阶教程
linux·vim
我是唐青枫3 小时前
Vim 进阶教程
linux
太阳伞下的阿呆3 小时前
配置Mac/Linux终端启动执行脚本
linux·运维·macos
骁的小小站3 小时前
The Missing Semester of Your CS Education 学习笔记以及一些拓展知识(六)
linux·经验分享·笔记·学习·bash
Ronin3054 小时前
【Linux系统】基础IO(下)
linux·运维·服务器