当前位置:首页>Linux>谁懂啊!Linux新手必看:vim批量修改封神技巧,搜索替换一步到位

谁懂啊!Linux新手必看:vim批量修改封神技巧,搜索替换一步到位

  • 2026-09-02 20:16:37
谁懂啊!Linux新手必看:vim批量修改封神技巧,搜索替换一步到位

上一篇了介绍了 vim 的基础操作——打开、编辑、保存与退出,解决了“能修改文件”的核心需求。但在实际工作中,只掌握基础操作远远不够:修改配置文件时需要快速定位关键词、批量修改重复内容、一次性编辑多行文本,这些场景都需要 vim 的进阶功能来高效完成。

今天我们就聚焦 vim 最实用的三大进阶操作:搜索、替换、多行编辑。这三个功能是运维、开发日常使用 vim 的“效率神器”,学会它们,能让你从“会用 vim”升级为“用好 vim”,告别繁琐的手动操作,大幅提升文本编辑效率。

本篇全程实操、无废话、不踩坑,所有操作均在 Anolis OS 实测可用,沿用之前创建的 /tmp/test.txt 文件练习,新手跟着步骤做就能上手,同时会重点标注新手易踩的坑和实用技巧,兼顾专业性与易懂性。


一、vim 搜索操作:快速定位内容(高效排查必备)

在大文件(如日志、配置文件)中手动查找关键词,不仅耗时,还容易遗漏。vim 的搜索功能可以快速定位目标内容,支持精准搜索、模糊搜索、忽略大小写搜索,满足不同场景需求,是日常排查问题的核心技巧。

1. 基础搜索(精准匹配,区分大小写)

👉 操作格式(命令模式下):/关键词(斜杠 + 要搜索的关键词)

✅ 实操步骤:

  1. 用 vim 打开测试文件:vim /tmp/test.txt(默认进入命令模式);
  2. 输入 /vim(斜杠 + 关键词vim),按 Enter 键,光标会自动跳转到第一个匹配的关键词;
  3. 继续查找下一个匹配内容:按n 键(小写n,next);
  4. 查找上一个匹配内容:按 N 键(大写N,反向查找);
  5. 搜索完成后 Vim 会自动回到命令模式,若想取消当前输入或清除高亮,可按 Esc 键。

👉 新手避坑:搜索时关键词区分大小写,比如搜索“Vim”和“vim”是两个不同结果,若想忽略大小写,需添加额外参数(下文讲解)。

2. 忽略大小写搜索(实用技巧)

当需要搜索的关键词大小写不固定(如配置文件中的“Port”“port”),无需重复搜索,只需在搜索时添加 \c 参数,即可忽略大小写匹配。

👉 操作格式(命令模式下):/关键词\c

✅ 实操示例:

  1. 命令模式下输入 /vim\c,按 Enter 键;
  2. 此时无论文件中是“vim”“Vim”还是“VIM”,都会被匹配到,按 n 键依次跳转;
  3. 补充技巧:若想临时开启忽略大小写搜索,可在命令模式下输入 :set ignorecase(关闭vim后失效);若想关闭,输入 :set noignorecase。进阶技巧:搭配 :set smartcase 使用,开启后,当搜索关键词包含大写字母时会区分大小写,全小写时则忽略大小写,更贴合日常使用习惯。

3. 模糊搜索(通配符匹配,灵活定位)

当不确定关键词完整拼写,或需要匹配一类内容时,可使用通配符进行模糊搜索,最常用的是:

  • .
     :匹配任意单个字符;
  • *
     :匹配前一个字符出现 0 次或多次。

⚠️ 注意:* 不是“任意字符通配符”,若要匹配任意多个字符,应使用 .*(. 匹配任意单个字符,* 匹配前一个字符的0次或多次,组合后即匹配任意多个任意字符)。

👉 常用操作格式:

  • /关键.词
    :用 . 匹配中间任意一个字符(如 /vim.操 可匹配“vim基础操作”“vim进阶操作”);
  • /关键.*词
    :用 .* 匹配中间任意多个字符(如 /vim.*作 可匹配“vim操作”“vim核心操作”“vim基础编辑操作”)。

✅ 实操示例:在 test.txt 中输入 /文.*件,按 Enter 键,会匹配到“文件查看命令”“文本编辑”等包含“文”和“件”的内容,适合快速定位一类相关文本;这里的 .* 就是匹配“文”和“件”之间任意多个任意字符。

4. 快速搜索光标所在词(高效技巧)

若光标正停留在某个词上,无需手动输入关键词,可快速搜索该词的所有匹配项,节省操作时间。

👉 操作:

  • 将光标移到目标词上(如“vim”);
  • 按 * 键(星号):快速搜索该词的下一个匹配项;
  • 按 # 键(井号):快速搜索该词的上一个匹配项。

👉 适用场景:查看配置文件中某个参数(如“port”“timeout”)的所有出现位置,无需手动输入,一键定位。

搜索核心口诀:/关键词找首次,n下N上,\c忽略大小写,*#快速匹配光标词


二、vim 替换操作:批量修改内容(效率神器)

日常工作中,经常需要批量修改文件中的重复内容(如修改配置文件中的IP、替换关键词、统一格式),手动修改不仅耗时,还容易出错。vim 的替换功能可以实现“一键批量修改”,支持单条替换、全局替换、确认替换,灵活适配不同场景。

👉 核心操作格式(命令模式下,进入末行模式执行)::范围 s/旧关键词/新关键词/替换参数

关键说明:

  • 范围:指定替换的范围(如当前行、全文、指定行区间);
  • s:replace(替换)的缩写,固定格式;
  • 替换参数:常用 g(global,全局替换)、c(confirm,确认替换)。

1. 基础替换:当前行替换(精准修改)

👉 操作格式::s/旧关键词/新关键词(仅替换当前行的第一个匹配项)

👉 拓展格式::s/旧关键词/新关键词/g(替换当前行的所有匹配项)

✅ 实操示例(基于 test.txt):

  1. 用 vim 打开 test.txt,将光标移到包含“vim”的行(如“vim基础操作练习”);
  2. 输入 :s/vim/VIM,按 Enter 键,仅替换当前行第一个“vim”为“VIM”;
  3. 若当前行有多个“vim”(如“vim编辑vim保存”),输入 :s/vim/VIM/g,按 Enter 键,替换当前行所有“vim”为“VIM”。

2. 全局替换:全文批量替换(最常用)

👉 操作格式::%s/旧关键词/新关键词/g(% 表示全文,g 表示全局)

✅ 实操示例:将 test.txt 中所有“vim”替换为“Vim”

  1. 命令模式下输入 :%s/vim/Vim/g,按 Enter 键;
  2. Vim 底部命令行区域会显示“替换成功的次数”(如“12 substitutions on 8 lines”),表示全文替换完成;

👉 新手避坑:全局替换前,建议先用搜索功能(/关键词)确认匹配内容,避免误替换;若替换错误,可输入:u(undo,撤销)恢复。

3. 确认替换:逐一向导式替换(安全高效)

当不确定是否需要替换所有匹配项(如部分关键词需要保留),可使用确认替换,逐一向导式选择“替换/跳过/全部替换”,避免误操作。

👉 操作格式::%s/旧关键词/新关键词/gc(c 表示 confirm,确认)

✅ 实操示例:将 test.txt 中“文件”替换为“文档”,逐一向导确认

  1. 命令模式下输入 :%s/文件/文档/gc,按 Enter 键;
  2. 光标会跳转到第一个匹配项,终端左下角显示提示:replace with 文档 (y/n/a/q/l/^E/^Y)?;
  3. 按键说明(新手必记):
    1. y(yes):替换当前匹配项;
    2. n(no):跳过当前匹配项;
    3. a(all):替换所有剩余匹配项;
    4. q(quit):退出替换模式,不再继续;
    5. l(last):替换当前匹配项,且退出替换模式。

👉 适用场景:配置文件修改、日志内容替换,需要精准控制替换范围,避免误改关键内容。

4. 指定行区间替换(精准范围替换)

若只需替换文件中某几行的内容,无需全局替换,可指定行区间进行替换。

👉 操作格式::起始行号,结束行号 s/旧关键词/新关键词/g

✅ 实操示例:将 test.txt 第5-10行的“操作”替换为“技巧”

  1. 命令模式下输入 :5,10 s/操作/技巧/g,按 Enter 键;
  2. 仅替换第5-10行的所有“操作”,其他行不受影响,适合局部批量修改。

三、vim 多行编辑:批量操作多行(批量处理必备)

当需要对多行文本执行相同操作(如批量添加注释、批量删除、批量插入内容),手动逐行操作效率极低。vim 的多行编辑功能可以实现“一次操作,批量生效”,核心是通过“可视化块选择”,选中多行后执行统一操作,是运维修改配置文件的高频技巧。

👉 核心前提:进入「可视化块模式」(命令模式下按 Ctrl + v,小写v是字符模式,大写V是行模式,Ctrl+v是块模式,多行编辑首选块模式)。

1. 多行插入(批量添加内容,如注释)

最常用场景:给配置文件多行内容添加注释(如 # 注释),无需逐行输入。

✅ 实操示例:给 test.txt 第6-10行添加 # 注释

  1. 用 vim 打开 test.txt,命令模式下将光标移到第6行的开头;
  2. 按 Ctrl + v 进入可视化块模式,光标变为方块状;
  3. 按向下箭头(↓),选中第6-10行的开头部分(选中的区域会高亮);
  4. 按 I 键(大写I,进入块插入模式),此时光标会跳转到选中区域的第一行开头;
  5. 输入 #(注释符号),此时仅第一行显示 #,无需担心;
  6. 按 Esc 键,等待1秒,选中的所有行开头都会自动添加 #,批量注释完成。

👉 反向操作:批量删除多行注释(#),步骤同上,选中 # 所在的块,按 x 键即可批量删除。

2. 多行删除(批量删除指定行)

场景:删除文件中连续的多行内容(如无用的日志、重复的配置),比逐行删除高效得多。

✅ 方法1:可视化块删除(精准删除部分内容)

  1. 命令模式下按 Ctrl + v 进入可视化块模式;
  2. 选中需要删除的多行内容(如某几行的特定字符、整行内容);
  3. 按 x 键,选中的内容会被批量删除。

✅ 方法2:行模式删除(删除整行)

  1. 命令模式下按 V(大写V,进入行可视化模式);
  2. 按向下箭头(↓),选中需要删除的连续多行;
  3. 按 d 键(delete),选中的多行会被批量删除。

👉 补充技巧:删除指定行区间(如第8-12行),无需选中,命令模式下输入 :8,12 d,按 Enter 键即可批量删除。

3. 多行复制与粘贴(批量复用内容)

场景:将多行内容复制到文件的其他位置,避免重复输入,提升编辑效率。

✅ 实操步骤:

  1. 命令模式下按 V(大写V,行可视化模式),选中需要复制的多行;
  2. 按 y 键(yank,复制),选中的内容会被复制到vim剪贴板;
  3. 将光标移到需要粘贴的位置;
  4. 按p 键(paste,粘贴),复制的多行内容会粘贴到光标下方;按 P 键(大写P),粘贴到光标上方。

👉 新手避坑:复制后若执行了其他编辑操作(如删除、修改),剪贴板内容会被覆盖,建议复制后立即粘贴,或使用寄存器保存(进阶内容,后续讲解)。

多行编辑核心避坑:进入可视化块模式后,若想取消选中,按 Esc 键即可;操作完成后,务必按 Esc 退回命令模式,避免误触其他操作。



四、三大进阶操作速查表(建议收藏,直接抄作业)

操作类型
具体操作
操作命令/步骤
备注
搜索操作
基础精准搜索
/关键词,n下N上
区分大小写
忽略大小写搜索
/关键词\c 或 :set ignorecase
临时生效,适合大小写不固定场景
模糊搜索
/关键.词(.匹配单个字符)、/关键*词(*匹配多个字符)
不确定关键词完整拼写时使用
快速匹配光标词
光标移到词上,按*(下一个)、#(上一个)
高效定位重复出现的关键词
退出搜索
按Esc键
无需额外命令,直接退回命令模式
替换操作
当前行替换(首个)
:s/旧关键词/新关键词
仅替换当前行第一个匹配项
当前行全局替换
:s/旧关键词/新关键词/g
替换当前行所有匹配项
全文全局替换
:%s/旧关键词/新关键词/g
最常用,批量修改全文内容
确认替换
:%s/旧关键词/新关键词/gc
逐一向导式替换,避免误操作
多行编辑
多行插入(添加注释)
Ctrl+v选中→I输入内容→Esc
批量添加注释、前缀内容
多行删除(整行)
V选中多行→d
快速删除连续多行
多行删除(部分内容)
Ctrl+v选中内容→x
精准删除多行中的特定内容
多行复制粘贴
V选中→y复制→p/P粘贴
批量复用多行内容

五、新手常见问题(避坑指南,必看)

1️⃣ 搜索不到内容,明明文件中存在关键词

原因1:关键词区分大小写(如搜索“Vim”,文件中是“vim”);

解决1:用 /关键词\c 忽略大小写搜索;

原因2:输入关键词时多输/少输空格(vim搜索会匹配空格);

解决2:核对关键词,确保无多余空格,或用模糊搜索(/关键*词)匹配。

2️⃣ 替换后发现误改,如何恢复?

解决:命令模式下按 u 键(undo),撤销上一步替换操作;若多次替换,可按Ctrl + r 恢复撤销的操作(redo)。

3️⃣ 进入可视化块模式后,无法选中多行

原因:误按了 v(字符模式)或其他键,未进入块模式;

解决:按 Esc 退回命令模式,重新按 Ctrl + v 进入块模式,再按箭头键选中多行。

4️⃣ 多行插入后,只有第一行生效

原因:插入内容后,未按 Esc 键确认,直接退出了块模式;

解决:按 I 插入内容后,务必按 Esc 键,等待1秒,选中的所有行才会生效。

5️⃣ 替换时提示“E486: Pattern not found”

原因:文件中没有匹配的旧关键词,替换命令无法执行;

解决:先用搜索功能(/旧关键词)确认关键词是否存在,核对关键词拼写和大小写。


六、实操练习(必做,加深记忆)

结合 /tmp/test.txt 文件,完成以下练习,快速掌握三大进阶操作,做到“搜索→替换→多行编辑”全流程贯通,建议练习2-3遍,形成肌肉记忆:

  1. 用 vim 打开 /tmp/test.txt,搜索所有“操作”关键词(忽略大小写),用n键跳转所有匹配项;
  2. 将全文中“操作”替换为“技巧”,使用确认替换(:%s/操作/技巧/gc),跳过前2个匹配项,替换剩余内容;
  3. 给第5-8行添加 # 注释(多行插入),再批量删除注释;
  4. 选中第9-12行,复制并粘贴到文件末尾;
  5. 删除第9-12行(多行删除),保存并退出(:wq);
  6. 重新打开文件,用 :u 撤销删除操作,验证内容恢复。

提示:实操是掌握vim进阶操作的关键,每一步都要亲手执行,遇到报错不要慌,对照“常见问题”排查,多练几次就能熟练运用。


七、本篇总结

  1. vim 三大进阶操作(搜索、替换、多行编辑)是提升编辑效率的核心,学会后能大幅减少手动操作,适配日常工作90%的文本编辑场景;
  2. 搜索核心:掌握忽略大小写、模糊搜索技巧,快速定位关键词,是排查问题、查找内容的基础;
  3. 替换核心:记住全局替换(:%s/旧/新/g)和确认替换(gc),避免误替换,精准批量修改内容;
  4. 多行编辑核心:学会 Ctrl+v 可视化块模式,实现批量插入、删除、复制,尤其适合配置文件修改;
  5. 所有操作均基于命令模式,实操时注意模式切换,遇到报错先按 Esc 退回命令模式,再排查问题;
  6. 勤实操、多练习,才能熟练掌握,后续会讲解vim高级技巧(寄存器、语法高亮、自定义配置),进一步提升使用效率。

掌握本篇内容,你已经能熟练运用vim处理各类文本编辑需求,从“新手”升级为“高效使用者”,无论是日常运维还是简单开发,都能轻松应对!


文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章