13-5 vi查找和替换

作者: 見贤思齊_ | 来源:发表于2020-08-15 15:14 被阅读0次

七、查找和替换

vi 提供了在一行 或 整个文件中,根据搜索条件将光标移动至指定位置的功能。

vi 还可以执行文本替换工作,用户可指定替换时是否需要用户确认。

1.行内搜索(准)

(1)f命令

命令 f 在行内进行搜索,并将光标移至搜索到的下一个指定字符。

比如,命令 fa 就会将光标移动到本行下 1 处出现字符 a 的地方。

在执行过一次行内搜索之后,输入分号(:)可以使 vi 重复上次搜索。

2.搜索整个文件(准)

(1)/命令

同第 3 章讲过的 less 程序一样,命令 “ / ” 可以完成对单词或短语的搜索

① 怎么做?

当用户使用 “ / ” 命令后,一个 “ / ” 符号会出现在屏幕的底部

接下来,输入需要搜索的单词或短语以 Enter 结束,光标就会移动到下一处包含被搜索字符串的地方。

② n命令

使用 n 命令可以重复此搜索

③ 示例

仍以foo.txt作为实验对象,将光标移至文件的第一行,并输入如下代码:

/Line

别忘了输入 Enter 以结束,光标将移动至第 2 行。

接下来,输入 n 命令,光标将继续移动至第 3 行。

重复输入 n 直至光标移动到文档的最后,且找不到符合条件的字符串。

④ 正则

尽管现在只讲解到 vi 的单词和词组的搜索模式,但是 vi 同样支持正则表达式(一种强大的表达复杂文本模式的方法)的应用。

3.全局搜索和替换

vi 使用 ex 命令来执行 几行之内 或 整个文件中的搜索和替换操作

输入以下命令可将文件中的 Line替换为 line。

:%s/Line/line/g

下面就来解析这条命令每一部分的功能。(准)

组成 含义
: 分号用于启动一条 ex 命令。
% 确定了操作作用的范围。%简洁地代表了从文件的第 1 行到最后 1 行。本命令的范围还可以表示为 1,5(因为本文件只有5行),也可表示为 1,$ (意思是:从第1行到文件的最后一行)。如果不明确指出命令的作用范围,那么命令只会在当前行生效
s 指定了具体的操作,本次是替换操作(搜索和替换)
/Line/line 搜索和替换的文本。
g 代指 global(全局),也就是说对搜索到的每一行的每一个实例进行替换。如果 g 缺失,那么只替换每一行第 1 个符合条件的实例。

在命令末尾添加 c,则命令在每次替换之前都会请求用户确认。如下所示:

:%s/line/Line/gc

此命令将文件foo.txt中的 line 替换成 Line,也就是将文件替换回原来的样子,但是每次替换前,vi 都会停下来询问用户是否确认执行替换。

replace with Line(y/n/a/q/l/^E/^Y)?

圆括号中的每一个字符都是一种可能的回答,下表具体阐述了每一个字符的含义。

功能键 行为
y 执行替换。
n 跳过此次替换。
a 执行此次替换和之后的所有替换。
q 或 ESC 停止替换。
l 执行此次替换并退出替换。(是last的缩写)
Ctrl-E,Ctrl-Y 分别是向下滚动、向上滚动,能用于查看替换处的上下文

相关文章

  • 13-5 vi查找和替换

    七、查找和替换 vi 提供了在一行 或 整个文件中,根据搜索条件将光标移动至指定位置的功能。vi 还可以执行文本替...

  • linux一些基本操作

    一、补充 vi相关 vi编辑器中替换: %s/查找/替换内容/g 新增用户权限 默认情况,新增加是没有sudo! ...

  • Linux04虚拟环境安装

    一、补充- vi相关vi编辑器中替换: %s/查找/替换内容/g - 新增用户的权限默认情况,新增加是没有sudo...

  • vim命令整理

    光标控制命令 在vi中添加文本 在vi中删除文本 修改vi文本 在vi中查找与替换 在vi中复制文本 在vi中撤消...

  • Excel第三讲:查找,替换及定位

    一:查找和替换 1.按值查找查找和选择-查找和替换-替换-选项 -单元格匹配 2.按格式查找查找和选择-查找和替换...

  • 2018-11-17 查找和替换的不同玩法

    查找和替换的不同玩法 查找和替换的不同玩法 首先我们的替换...

  • FFmpeg实践记录三:Vim基本讲解

    Vim处理模式 Vim常用命令 Vim拷贝、粘贴和删除 Vim光标移动 Vim行内光标移动 Vim查找与替换 Vi...

  • Word如何查找与替换图片格式

    Word如何查找与替换图片格式 使用查找和替换功能,不仅仅可以对文本内容进行查找替换,还可以查找替换字符格式和段落...

  • 不会就记系列之 vim、shell 与 Linux

    一、vim 与 shell 001. 查找和替换 使用以下命令进行全局查找和替换: 含义: % :查找范围:全局 ...

  • 查找和替换

    【回顾目标】001.写一字群作业002.找周末点评学委003.学习Excel,完成作业,提前打卡【评估结果】001...

网友评论

    本文标题:13-5 vi查找和替换

    本文链接:https://www.haomeiwen.com/subject/jajadktx.html