当前位置:首页 > Linux > 正文内容

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

Yusoon1年前 (2024-01-31)Linux685

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

替换当前行的第一个匹配项:
:s/old/new/

这将替换当前行中第一个出现的 oldnew

替换当前行的所有匹配项:
:s/old/new/g

在命令的末尾添加 g 标志表示替换当前行中所有出现的 oldnew

替换全文中的第一个匹配项:
:%s/old/new/

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

替换全文中的所有匹配项:
:%s/old/new/g

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

替换指定范围内的匹配项:
:10,20s/old/new/g

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

替换并确认每个匹配项:
:%s/old/new/gc

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

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

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

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

:%s/\/usr\/local\/bin/\/usr\/bin/g

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

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

:%s#/usr/local/bin#/usr/bin#g

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

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

扫描二维码推送至手机访问。

版权声明:本文由Yusoon - ZBlog发布,如需转载请注明出处。

本文链接:https://blog.bee1001.com/?id=31

分享给朋友:

“Linux中vim中进行替换/批量替换” 的相关文章

Linux上使用LNMP一键安装nginx

Linux上使用LNMP一键安装nginx

LNMP官网 安装LNMP稳定版nginxwget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 &&...

Linux上使用service命令启动nginx

Linux上使用service命令启动nginx

一、nginx.service文件检查是否存在/usr/lib/systemd/system/nginx.service文件,不存在时创建 二、修改内容[Unit] Description=nginx After=network.target [Service] Type=...

journalctl命令的用法

journalctl -n 3 ##日志的最新3条 --since "2020-05-01 11:00:00" ##显示11:00后的日志 --until "20...

Linux安装safe-rm防止误删文件或目录

在Linux系统中安装safe-rm工具可以有效地防止误删除重要文件或目录。以下是安装safe-rm的步骤: 1、下载safe-rm:使用wget命令从官方网站下载safe-rm的压缩包。例如,下载0.12版本的命令为: wget https://launchpad.net/safe-rm/tr...

Linux操作系统之Docker、nginx安装

Docker安装 不同操作系统的服务器安装大同小异,这里以 CentOS 为例。 第一步:移除旧版本为确保本次安装是全新安装,需要先移除已经安装的旧版本。 sudo yum remove -y docker \ docker-client \...