内容查找 grep

回忆

  • 上次我们尝试了一下各种在vi中执行外部程序

    • 可以排序
    • 可以改大小写
    • 还可以用管道
    • 直接对于缓冲buffer文件进行操作
    • 还是很方便的
  • 其实还有一个外部命令很重要

    • 根据内容搜索grep
    • 这个怎么和vim配合呢?

在终端的grep

  • 写一个oeasy.txt

  • 保存并退出
  • 复制粘贴出来两份

  • 内容查询grep

  • 可以在三个文件中找到oeasy
  • 去打开其中一个文件

    • vim oeasy.txt +1
    • 打开oeasy.txt 并且光标位于第1行

在vim中用grep

  • 打开vim
  • :grep oeasy *.*
  • 搜索到好多匹配之后
  • 放到一个prefix的列表中

  • 还是查到了3个包含oeasy的文件
  • 查询结果的展现形式来自于grepformat这个选项

在结果列表中跳转

  • 在匹配结果间跳转

    • :cfirst
    • :cprev
    • :cnext
    • :clast
  • 匹配结果列表

    • :copen 新窗口打开列表
    • :cclose 关闭列表窗口
    • :cc N 跳到第N项

执行命令

  • :cdo {cmd}

    • 在每一个匹配的行执行命令{cmd}

  • :cfdo {cmd}

    • 在每一个匹配的文件上执行命令{cmd}

  • 回忆一下

    • :bufdo
    • :argdo
    • :windo

总结

  • 这次我们研究的是外部命令grep

    • 可以在vim中使用grep
    • 搜索的结果进入了列表
    • 可以打开、遍历、跳转、关闭这个列表
    • 也可以给列表中的匹配行或者每个文件执行命令
  • 到此为止学了很多的命令

    • 有内部的也有外部的
    • 有的在命令行模式里面执行
    • 还有的映射到一组键盘在正常模式下执行
    • 但是都需要按下些什么按键才能支持
  • 能否什么都不按自动就执行呢?
  • 下次再说!

oeasy教您玩转vim - 87 - # 内容查找grep命令的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. 文本内容查找grep、文件查找find、正则匹配

    一.文本内容查找工具 grep grep   egrep (文本过滤)   fgrep (不支持正则) 对文本的内容按照指定的匹配模式基于行来进行筛选 格式     grep [选项] 模式 文件 选 ...

  6. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

  7. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  8. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

随机推荐

  1. Django——form组件之循环生成标签

    from django.contrib import admin from django.urls import path from app01.views import index urlpatte ...

  2. CENTOS6.8 修改主机名

    1.临时修改主机名   显示主机名:spark@master:~$ hostnamemaster修改主机名:spark@master:~$ sudo hostname hadoopspark@mast ...

  3. 音视频学习-exceeded mem limit: ActiveHard 50 MB (fatal)

    一.现象 ReplayKit2 适配中 UPLOAD进程被系统杀掉 日志中显示原因:exceeded mem limit: ActiveHard 50 MB (fatal) 二.内存占用分析 1)系统 ...

  4. NET工控,上位机,Modbus485网口/串口通讯(鸣志步进电机,鸣志伺服电机,松下伺服电机,华庆军继电器模块)

    先上两个通用Modbus帮助类,下面这个是多线程不安全版,在多线程多电机同一端口通信下,可能造成步进电机丢步或者输出口无响应等,还有个多线程安全版,只是基于这个不安全版加上了LOCK,THIS usi ...

  5. 使用C代码实现读取文件中的hex字符串,转换为字节数组

    举例说明: ptp.txt文件中的内容为: 7a7ac0a8c80100000000003388f70002002c000004000000000000000000000000000000000000 ...

  6. JavaSE的方法 (函数)

    目录 Java中的方法(函数) 方法声明格式:(与函数类似) Java中的方法(函数) Java方法是一段可重复使用的代码块,用于执行特定的任务.方法可以接受输入参数并返回一个值.在Java中,方法由 ...

  7. 高可用集群MHA方案

    爱奇艺在用的数据库高可用方案 MHA 是目前比较成熟及流行的 MySQL 高可用解决方案,很多互联网公司正是直接使用或者基于 MHA 的架构进行改造实现 MySQL 的高可用. MHA 能在 30 秒 ...

  8. Java中PDF的转换(图片)与展示

    解决的问题 有些时候我们需要在项目中展示PDF,但是直接在浏览器中加入PDF展示的插件,存在兼容性问题,某些浏览器显示效果不理想,所以我们可以将PDF转为图片,然后已图片的方式展示,效果很好. 那么怎 ...

  9. 学习ThreeJS

    创建第一个应用 使用Three JS进行编程的时候,都是在调用new Three().XXX 来实现方法,让我们先根据官方文档创建一个demo https://threejs.org/docs/ind ...

  10. Java泛型对象在http请求和响应对象中的封装

    Java泛型对象在http请求和响应对象中的封装 public class MySystemBaseResVo<T> { //注意:类的后面需要带上<T>,否则数据无法封装 p ...