Linux中vim中进行替换/批量替换

Linux中vim中进行替换/批量替换

一:在 Vim 中进行文本替换的操作是通过使用 :s(substitute)命令来实现的。这里是一些基本的替换命令

  1. 替换当前行的第一个匹配项:

    复制代码
    :s/old/new/

    这将替换当前行中第一个出现的 "old" 为 "new"。

  2. 替换当前行的所有匹配项:

    复制代码
    :s/old/new/g

    在命令的末尾添加 g 标志表示替换当前行中所有出现的 "old" 为 "new"。

  3. 替换全文中的第一个匹配项:

    复制代码
    :%s/old/new/

    :s 前加上 % 表示对整个文档进行操作,但这只会替换每一行的第一个匹配项。

  4. 替换全文中的所有匹配项:

    复制代码
    :%s/old/new/g

    同样是对整个文档进行操作,并替换每一行中所有的 "old"。

  5. 替换指定范围内的匹配项:

    复制代码
    :10,20s/old/new/g

    这会替换从第 10 行到第 20 行中所有出现的 "old"。

  6. 替换并确认每个匹配项:

    复制代码
    :%s/old/new/gc

    在命令的末尾添加 c 标志会让 Vim 在每次替换之前提示你确认。

记得在 Vim 的命令模式下输入这些命令,模式切换通过按 Esc 键进行。完成输入命令后,按 Enter 键执行命令。

二:在文本中替换路径 /usr/local/bin/usr/bin,因为路径中包含斜杠 /,它通常用作 Vim 替换命令中的分隔符,所以需要对其进行转义。在 Vim 中,你可以使用反斜杠 \ 来转义字符

以下是一个替换命令的例子,其中转义了路径中的斜杠:

vim 复制代码
:%s/\/usr\/local\/bin/\/usr\/bin/g

在这个例子里,每个斜杠前面的反斜杠告诉 Vim 将其视为字面上的斜杠,而不是命令的一部分。

Vim 还允许你使用其他字符作为分隔符,这样你就可以避免转义斜杠。比如说,你可以使用井号 # 作为分隔符:

vim 复制代码
:%s#/usr/local/bin#/usr/bin#g

这样做可以提高命令的可读性,避免转义带来的复杂性。在替换命令中,你可以自由选择分隔符,只需确保它不会出现在你想要查找或替换的文本中。

请注意,这里的 "old" 和 "new" 可以是任何字符串,如果它们包含特殊字符或正则表达式的部分,可能需要做适当的转义处理。

相关推荐
Cloud_Shy61825 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 下篇)
前端·后端·python·数据分析·excel
DFT计算杂谈38 分钟前
VASP新手入门: IVDW 色散修正参数
linux·运维·服务器·python·算法
楼兰公子1 小时前
《深入理解Linux网络技术内幕》配套学习大纲 + 源码Demo + 进阶实战实例
linux·arm开发·学习
青梅橘子皮1 小时前
Linux---开发工具(2)(makefile、进度条、git、gdb)
linux·运维·服务器
剑神一笑1 小时前
Linux less 命令深度解析:从源码看分页器的设计智慧
linux·运维·less
IT大白鼠1 小时前
Dirty Frag漏洞深度分析:Linux内核页缓存污染漏洞的技术原理与安全防护
linux·安全·dirty frag漏洞
李白你好2 小时前
Linux 本地提权工具支持Linux 内核和 Polkit 漏洞
linux·运维·服务器
陳10302 小时前
Linux:System V IPC
linux·运维·服务器
aFakeProgramer2 小时前
在Ubuntu系统格式化SD卡,单分区/双分区
linux·运维·ubuntu
键盘上的GG小怪兽GG2 小时前
Debian 安装CUPS操作
linux·服务器·debian