开发

软件开发相关知识

Vim 中替换命令的使用方式:指定行数替换和全局替换

Vim是一款非常强大和流行的文本编辑器,特别是在UNIX和Linux系统中,有的时候我们在编辑文本文件时需要用到字符串替换功能,例如当前行替换以及全局替换等。Vim中的替换命令可以通过指定行数或者在全局范围内进行操作。下面分别介绍这两种情况下的替换命令的使用方式:

一、关于 Vim 编辑器

一般 Linux 系统都会内置 Vim 或者 Vi,新建文件或者编辑文件都很方便,关于 Vim 和 Vi 的介绍、区别、基本使用教程可以参考这篇文章:《Linux下使用vim编辑以及新建文件》

二、Vim 中的替换

Vim :s 命令是 Vim 编辑器中的替换命令,基本形式如下,这个命令会用 new 替换当前行的第一个 old 字符:

:s/old/new

如果我们想替换当前行的所有 old 字符串,则可以加入 g (global,全局),如下:

:s/old/new/g

如果替换指定行?

可以在 :s 命令前指定行数:

# 替换 50-100 行
:50,100s/old/g
# 替换第 n 行开始到最后一行
:n,$s/old/new/g

Vim中的替换命令可以通过指定行数或者在全局范围内进行操作。下面分别介绍这两种情况下的替换命令的使用方式:


### 指定行数替换:


假设你要在第10行替换文本,可以按照以下步骤进行:


1. 进入命令模式:按下Esc键确保你处于普通模式(Normal mode)。

2. 输入 `:10` ,然后按Enter,以跳转到第10行。

3. 输入 `:s/old_text/new_text/g` ,其中 `old_text` 是你要替换的原始文本,而 `new_text` 是你要替换成的新文本。`g` 表示全局替换(如果你只想替换该行的第一个出现的文本,则可以省略 `g`)。

4. 按Enter执行替换命令。


### 全局替换:


如果全局替换?

用 % 代替指定的行数即可:

:%s/old/new/g


如果你想在整个文件范围内替换文本,可以按照以下步骤进行:


1. 进入命令模式:按下Esc键确保你处于普通模式(Normal mode)。

2. 输入 `:%s/old_text/new_text/g` ,其中 `%` 表示在整个文件中进行替换,`old_text` 是你要替换的原始文本,而 `new_text` 是你要替换成的新文本。`g` 表示全局替换(如果你只想替换每行的第一个出现的文本,则可以省略 `g`)。

3. 按Enter执行替换命令。


这样,无论是针对指定行数还是全局范围内的替换,你都可以在Vim中轻松完成文本的替换操作。