Vim 中进行搜索、查找和替换文本的详细练习指南

news/2025/3/5 16:15:34/文章来源:https://www.cnblogs.com/autopwn/p/18752896

以下是关于如何在 Vim 中进行搜索、查找和替换文本的详细练习指南。请按照以下步骤操作,以提高您在 Vim 中的文本编辑技能。

搜索、查找和替换练习

目标

本练习的目标是练习在文件中搜索、查找和替换文本。


操作步骤

  1. 打开文件

    • 在您的本地机器上启动终端。
    • 使用以下命令导航到文件所在的位置(假设文件在 Downloads 文件夹中):
      cd Downloads/vimclass
      vim search-practice.txt
      
  2. 在同一行内搜索

    • 找到文件的第一行:

      The Time Traveller (for so it will be convenient to speak of him) was expounding
      
    • 将光标放在单词“for”的开头,使用命令 fff 是在当前行查找字符)。

    • 然后,使用 ff 命令将光标移动到单词“of”中的“f”上。

    • 使用 ; 重复上一次的查找。

    • 使用 , 将光标移回到“for”的开头。

    • 使用 FT 将光标移动到“Traveller”的开头。

    • 使用 tb 将光标移动到单词“be”的前面一个字符(即空格)。

    • 使用 ts 将光标移动到单词“speak”前的空格。

    • 使用 Tr 将光标移动到“for”后的空格。

  3. 在文件内搜索

    • 查找所有“and”的所有出现,并将光标定位在每次出现的开头,输入:

      /and<Space><Enter>
      

      (注意:如果没有在“and”后添加空格,你可能会匹配到“incandescent”这个词。)

    • 使用 n 循环遍历所有匹配项,依次将光标移动到每个“and”的开头。

    • 使用 N 反向查找并将光标移动到每个“and”的开头。

    • 向后查找单词“to”,输入:

      ?to<Enter>
      
    • 继续按 n 进行反向查找,直到光标回到文件的开头。

    • 使用 N 进行反向查找,直到光标回到最初查找的地方。

  4. 查找特定单词

    • 定位到文件中“it”的第一个出现,可以通过输入 gg 移动到文件开头,然后输入 2fi 移动到第二个“i”。

    • 输入 * 以移动到下一个“it”的出现。

    • n 重复搜索,直到光标回到文件的第一行。

    • 练习向后查找。将光标放在第二行的“us”上,可以输入 j 向下移动一行,然后使用 Fu 向后搜索“u”。

    • # 键,光标会定位到文件中“us”的最后一个出现。

    • n 重复搜索,直到光标回到第二行的“us”。

  5. 执行全局替换

    • 将所有“sat”替换为“laid”,输入:
      :%s/sat/laid/g<Enter>
      
    • % 表示范围为整个文件,g 标志确保在同一行内替换所有“sat”的出现。

退出 Vim

如果您想放弃更改并重新进行练习,请使用:

:q!

按照这些步骤进行练习将帮助您熟练使用 Vim 的搜索和替换功能。祝您练习愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894051.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双列集合

介绍双列集合中,每次添加元素添加一对(2个)数值 每对元素之间是一一对应的 最顶层为Map,有三个实现类,如下图双列集合特点 双列集合一次需要存一对数据,分别为键和值 键不能重复,值可以重复 键和值是一一对应的,每一个键只能找到自己对应的值 键+值这个整体 我们称之为…

单列集合

介绍 集合分为两种,一种是单列集合,一种是双列集合单列集合中 List系列集合添加元素是有序,可重复,有索引的 set系列集合添加元素是无序,不可重复,无索引的Collection是单列集合的祖宗接口,所以全部的单列集合都可以使用它的方法Collection基本方法 add方法,添加元素 …

黄河流域水土保持生态效应AI一体化评价平台

黄河流域作为我国北方重要的生态屏障,其生态保护和高质量发展一直是国家战略的重点。随着人工智能技术的飞速发展,黄河流域水土保持生态效应AI一体化评价平台的建设,标志着生态保护工作进入了一个新的阶段。本文将对这一平台的建设内容进行深度分析。1. 平台建设背景与意义黄…

使用PHP+HTML集成DeepSeek API,实现一个简单的聊天对话项目

项目效果预览1. 准备工作PHP环境:确保你的开发环境中安装了PHP。 DeepSeek API密钥:注册并获取DeepSeek API的访问密钥。2. 创建PHP文件,编写API调用脚本 创建一个PHP脚本(api.php),用于调用DeepSeek API。假设API密钥为YOUR_API_KEY。 <?php header(Content-Type: a…

(15)事件处理,表单绑定

可以参考官网https://cn.vuejs.org/guide/essentials/event-handling.html来学习 添加事件,处理事件,传递参数 监听事件​ 我们可以使用 v-on 指令 (简写为 @) 来监听 DOM 事件,并在事件触发时执行对应的 JavaScript。 用法:v-on:click="handler" 或 @click=&quo…

nginx + lua + kafka实现日志监控

nginx + lua + kafka实现日志监控 前言 1)架构图:2)方案:1:线上请求打向nginx后,使用lua完成日志整理:如统一日志格式,过滤无效请求,分组等。 2:根据不同业务的nginx日志,划分不同的topic。 3:lua实现producter异步发送到kafka集群。 4:对不同日志感兴趣的业务组实时消费…

day 17思维导图

图上有知识的补充!

Causal learning

简单来看:Causal learning = To learn causal models/features from dataCausal research 里包括两种重要问题,一种是Causal learning,另一种是Causal reasoning(不同的文献有不同的分法和叫法,这里用Jonas Peters等人的书里的)。简单的说,前者想解决如何从数据中发现因…

AI科研到底能做什么?看完你就懂了!

0 前言 本专栏目标:能做什么? 要怎么做? 效果如何?本质: 多Agent实现从数据采集到可视化全流程 AIGC数据应用: 数据采集 通过编写爬虫代码、访问数据库、读取文件、调用API等方式,采集社交媒体数据、数据库内容、文本数据、接口数据等。 数据处理 通过数据清洗、数据集成…

gitlab+jenkins+harbor+k8s安装操作流程之gitlab

GitLab的安装及使用教程GitLab简介GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装。 它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏…

fastadmin视图文件调用common.php的公共函数

╰︶﹉⋛⋋⊱⋋๑๑⋌⊰⋌⋚﹉︶╯

linux内核编译输出文件:vmlinux/Image/zImage/uImage区别

当前目录 ./ 为linux kernel编译输出根目录: ./vmlinux是编译输出的原始elf文件,可用于调试; ./arch/arm/boot/Image是二进制文件,可用于烧录,文件较大,使用工具链objcopy从./vmlinux生成; ./arch/arm/boot/compressed/vmlinux是elf文件,先将./arch/arm/boot/Image用gz…