Linux Vim编辑器实操全解——模式切换、保存、文本查找与替换

Linux Vim编辑器实操全解——模式切换、保存、文本查找与替换 一、知识点概念理解Vim三大基础模式概念Vim编辑器区分三种工作模式不同模式负责不同操作切换是使用Vim的核心基础1. 普通模式打开文件默认进入主要用于光标跳转、文本查找、输入底层命令所有操作指令无需回车按 Esc 可从任意模式切回普通模式。2. 插入模式用于输入、修改文本内容仅能通过普通模式输入 i/a/o 等按键进入无法执行保存、替换等文件操作。3. 底行模式在普通模式输入 : 进入用于执行文件保存、退出、全局文本替换、文件另存等批量操作指令输入完成后按回车生效。缓冲区存储原理Vim编辑文件时所有修改先存入内存缓冲区不会直接改动本地磁盘文件只有执行保存命令 :w 后缓冲区内容才会写入磁盘未保存内容强制退出会直接丢失。查找与替换底层逻辑查找基于字符串正则匹配支持正向、反向检索替换命令 s 为substitute简写支持限定行范围、全局匹配、替换前确认等参数可精准控制替换区域。二、核心命令实操Xshell可直接操作一模式进入与退出操作1. 打开文件 vim test.txt 直接创建并打开txt文件2. 进入插入模式编辑文字i 光标前插入文字a 光标后插入文字o 在当前行下方新建空白行并进入输入3. 切回普通模式任意编辑状态按下 Esc 键4. 进入底行模式普通模式下输入英文冒号 :5. 退出Vim完整指令底行模式执行:wq 保存所有修改并退出编辑器:x 文件有修改则保存退出无修改直接退出:q! 放弃所有修改强制退出不保存:q 无修改时直接退出有修改会提示报错二文本保存操作1. 仅保存不退出普通模式按 Esc 输入 :w 回车写入磁盘2. 保存并退出 :wq / :x3. 文件另存副本 :w new_test.txt 将当前内容复制到新文件原文件保持打开三查找文本中所有old字符1. 正向查找从上至下检索普通模式输入 /old 回车光标自动跳转至第一个匹配 old 按 n 跳转下一处匹配按 N 跳转上一处匹配。2. 反向查找从下至上检索普通模式输入 ?old 回车反向检索关键词。3. 开启全局高亮匹配所有old全部标亮底行模式输入 :set hlsearch 关闭高亮 :set nohlsearch四替换old为test全局/指定行替换替换通用语法 :行范围 s/原字符串/新字符串/参数1. 全文所有old替换为test: %s/old/test/g参数说明 % 代表全文 g 代表一行内全部匹配字符都替换不加g仅替换每行第一个old2. 仅替换第3行内所有old:3s/old/test/g3. 替换2~4行区间内所有old:2,4s/old/test/g4. 替换前手动确认每一处修改: %s/old/test/gc弹窗提示y确认替换n跳过当前匹配a全部替换q终止替换操作5. 仅替换光标当前所在行/old/test/g三、个人知识框架体系plaintextVim编辑器知识框架├─ 三大工作模式│ ├─ 普通模式查找、光标跳转、切换其他模式Esc返回│ ├─ 插入模式文本输入编辑i/a/o进入│ └─ 底行模式文件操作、批量替换:进入├─ 文件保存与退出│ ├─ 保存:w│ ├─ 保存退出:wq / :x│ └─ 强制不保存退出:q!├─ 文本查找功能│ ├─ 正向查找 /关键词│ ├─ 反向查找 ?关键词│ ├─ 下一处匹配 n│ ├─ 上一处匹配 N│ └─ 高亮匹配 :set hlsearch└─ 文本替换功能├─ 当前行替换 /old/test/g├─ 指定单行 :x s/old/test/g├─ 区间多行 :x,y s/old/test/g├─ 全文替换 :%s/old/test/g└─ 带确认替换 :%s/old/test/gc四、实操结果截图说明1. 初始化截图Xshell执行 vim test.txt 输入题目给定文本plaintextsfclcku old hfdsdsfhold old old newdsaddsadsa old old old2. 模式切换截图分别展示插入模式、普通模式、底行模式界面3. 查找操作截图输入 /old 后所有old字符高亮显示效果4. 替换操作截图①全局替换前后文本对比 ②指定单行替换效果5. 文件保存退出截图执行 :wq 保存并退出的终端界面五、实操易错点总结1. 切换模式遗忘Esc直接在插入模式输入底行命令会输入乱码操作前必须先按Esc回到普通模式2. 替换遗漏g参数不加g只会替换每行第一个匹配字符无法修改同一行多个old3. 未保存直接退出使用 :q 会报错修改后需 :wq 保存或 :q! 放弃修改4. 查找无高亮执行 :set hlsearch 开启全局高亮方便观察所有匹配字符