📜  vi 搜索 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:35.624000             🧑  作者: Mango

Vi搜索 - Shell-Bash

Vi是一款流行的命令行文本编辑器,用于在Shell-Bash环境下编辑文本文件。其中一个常见的用法便是搜索和替换文本内容。本文将介绍如何在Vi中进行搜索,并提供几个常用的搜索命令。

在Vi中进行搜索

在Vi中进行搜索可以通过输入“/”符号并跟随搜索关键词来实现。例如,如果要查找文件中所有包含“hello”关键词的行,可以执行以下操作:

vi filename
/ hello

这将会搜索整个文件并将光标移动到第一个匹配的行。要查找下一个匹配项,可以按“n”,要查找上一个匹配项,可以按“N”。

此外,可以使用“?”符号来进行反向搜索。例如,要查找所有包含“world”的行,可以输入:

? world

这将会从文件末尾开始向前搜索,并将光标移动到第一个匹配的行。

常用的搜索命令

以下是几个常用的搜索命令,可以帮助您在Vi中更加高效地查找和替换文本。

搜索忽略大小写

默认情况下,Vi搜索是区分大小写的。如果想要忽略大小写,则可以使用“\c”命令。例如,要查找包含“hello”的行,但不区分大小写,可以执行以下操作:

/ \chello
搜索时确认

有时候需要在搜索时进行确认,以防止对文本进行误操作。可以使用“\c”命令来强制搜索时进行确认。例如,要查找包含“world”的行,并在每个匹配项前进行确认,可以执行以下操作:

/ world<c-r>=confirm("\nReplace with 'hi'?")<cr>

这将在每次遇到匹配项时弹出一个确认框。

替换文本

可以使用“:s”命令来替换文本内容。例如,要将所有包含“hello”的行替换为“hi”,可以执行以下操作:

:%s/hello/hi/g

这将会全局替换文件中的每一个匹配项。如果只想替换当前光标所在行的匹配项,可以使用“:s”命令加上“c”选项。例如,要替换当前行中的所有匹配项,可以执行以下操作:

:s/hello/hi/gc

这将会在每个匹配项前进行确认,确保只替换所需的内容。

总结

以上是Vi中搜索和替换文本的一些常用命令,它们可以帮助您更加高效地编辑和修改文本文件。对于需要频繁编辑和修改文本的程序员来说,它们是必备的技能。