Linux vi编辑器如何查找与替换关键字

1. 前言
本文主要讲解如何在vi编辑器中搜索和替换字符 。
vi提供了几种通过搜索指定字符串来搜索文件内容的指定位置的方法 。vi还具有强大的全局替换功能 。

Linux vi编辑器如何查找与替换关键字

文章插图
vi如何搜索和替换字符
2. vi搜索字符串
字符串是连续的一个或多个字符 。字符串可能包括字母、数字、标点符号、特殊字符、空格、制表符或回车符 。字符串可以是语法单词,也可以是单词的一部分 。

Linux vi编辑器如何查找与替换关键字

文章插图
vi搜索字符串
要查找字符串,请键入/后跟要搜索的字符串,然后按 。vi将光标定位在字符串的下一个位置 。例如,要查找字符串meta,键入/meta并返回 。
键入n转到字符串的下一个匹配项 。键入N以转到前面的搜索结果 。
要在文件中向后搜索,可以使用?而不是/ 。在这种情况下,n和N的方向相反 。
搜索通常区分大小写:搜索A不会找到a 。如果你想让vi在搜索过程中忽略大小写,输入:set ic 。要把它改回默认的大小写模式,输入:set noic 。
如果vi找到请求的字符串,光标将在第一次出现时停止 。如果没有找到字符串,vi将显示在屏幕最后一行没有找到的模式 。
某些特殊字符(/ & ! 。^ *
不能识别此Latex公式: \ ?)对搜索过程有特殊意义,在搜索中使用它们时必须“转义” 。若要转义特殊字符,请在它前面加上反斜杠\ 。例如,搜索字符串anything?输入/anything\?并按回车 。您可以使用这些特殊字符作为搜索函数的命令 。如果要搜索包含一个或多个此类字符的字符串,则必须在特殊字符前加上反斜杠 。要转义反斜杠本身,请键入\ 。3. vi精准搜索你可以使搜索更精确的标签字符串与指标为下列特点:开始行行结束开始的单词结束词通配符vi精准搜索若要匹配行首,请使用插入符号(^)开始搜索字符串 。例如,要查找以abc开头的下一行,输入:/^abc若要匹配一行的结尾,请使用美元符号(
)结束搜索字符串 。例如,查找以abc结尾的下一行 。输入:
/abc\.$
注意,句点是用反斜杠转义的 。
若要匹配单词的开头,请在字符串的开头输入 。因此,要匹配一个单词,而不是字符串,请在搜索模式中组合单词结尾和单词开头标记 。例如,要查找下一个出现的单词—而不是字符串abc,输入:
/\
要匹配任何字符,请在要匹配的位置的字符串中键入句点. 。例如,要查找下一个出现的“假信息”或“错误信息”,输入:
/.isinformation
因为这是一个字符串的搜索,而不是一个单词,所以这个搜索模式也可能会发现和这样的结构 。
要搜索字符串中的可选字符,请将可选字符括在括号中 。搜索模式/[md]以“m”或“d”开头的字符串 。相反,/[d-m]字符串可以查找从“d”到“m”的任何字母开头的字符串 。
若要匹配最后一个字符的零次或多次出现,请在字符串中键入星号* 。您可以有效地组合方括号和星号来查找定义良好的替代方案 。例如,要查找所有以a到z开头、以结尾的字符串,并查找所有出现的字符串,输入:
/[a-z]*isinformation
4. vi替换字符串
替换文本字符串的过程基于前面讨论的搜索过程 。您可以在“搜索并替换”中使用所有特殊匹配字符进行搜索 。

Linux vi编辑器如何查找与替换关键字

文章插图
vi替换字符串
基本的命令形式是:
:g/要搜索字符/s//被替代的字符/g