例如,在 vi 编辑器中,创建了一个包含 8 行单词 today 的文件,我想知道如何使用 once 命令将 4 行更改为单词昨天。
大多数:作用于文件内容的ex 命令(即通过按(冒号)然后按命令名称调用的命令)允许在命令之前指定一个范围。此范围指定哪些行受命令影响。范围的一般形式是用逗号分隔的两个数字,该命令作用于从第一个数字到第二个数字(含)的所有行。例如
1,4s/today/yesterday/g
Run Code Online (Sandbox Code Playgroud)
替换文件前四行中所有出现的todayby yesterday。
您可以在数字前放置一个符号,使其相对于当前行。例如
-1,+1s/today/yesterday/g
Run Code Online (Sandbox Code Playgroud)
对上一行、当前行和下一行执行替换。例如,如果包含逗号但省略其中一个数字,则表示当前行
,+1s/today/yesterday/g
Run Code Online (Sandbox Code Playgroud)
在当前行和下一行执行替换。您还可以使用$代替数字来表示文件的最后一行。如果省略逗号并仅指定一个数字,则该命令仅作用于该行,例如
+1s/today/yesterday/g
Run Code Online (Sandbox Code Playgroud)
仅在下一行执行替换。
您可以使用命令:
:n,m s/today/yesterday/
Run Code Online (Sandbox Code Playgroud)
即从第 n 行到第 m 行将“今天”一词替换为“昨天”。