内容查找 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. 使用Chrome 开发者工具提取对应的字符串

    最近在查看一个API的数据,效果很好,但是里面只有一部分我想要的内容 如果是简单一点的可以直接获取 如下比如我想要提取返回的代码中关键的字符串:"video": "这里的 ...

  2. 一些常用但是不好记的css样式

    设置滚动条样式 /*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: 10px; ...

  3. Android 13 - Media框架(26)- OMXNodeInstance(三)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解了OMXNodeInstance中的端口定义,这一节我们一起来学习ACodec.OMXNode.OMX 组件使用的 buffer 到底 ...

  4. Android项目代码规范

    项目代码规范 Android Studio的代码Style检查和inspect Code功能已经很强大,规范只负责代码结构和文件结构 带?的内容为可选或团队内协商内容 核心目标 提高可维护性: MVV ...

  5. 001. git基础

    目录 1. 持续集成教程 1.1 持续集成的基础概念 1.2 持续集成的一般流程 1.3 认识DevOps 1.3.1 DevOps是啥? 1.3.2 为什么需要DevOps呢? 1.3.3 DevO ...

  6. zabbix笔记_003 配置微信告警

    配置邮件告警 安装python-requests,使用微信发送告警 发送告警报错: yum install -y python-requests 测试告警: cat weixin.py #------ ...

  7. Advanced .Net Debugging 9:平台互用性

    一.介绍 这是我的<Advanced .Net Debugging>这个系列的第九篇文章.这篇文章的内容是原书的第二部分的[调试实战]的第七章[互用性].互用性包含两个方面,第一个方面就是 ...

  8. 利用QEMU模拟大端序机器

    简介 当前我们安装虚拟机,一般小端机器比较多,有时候想模拟大端机器测试程序,这时就有模拟大端机器的需求. 参考:利用 QEMU USER 模式运行 mips 程序 - sinpo828 - 博客园 ( ...

  9. npm包管理器 切换npm源 使用nrm来管理npm镜像源

    npm是NodeJs项目模块管理工具,它已经集成了nodejs安装包中,在npm从从5.2版开始,增加了 npx 命令(解决的主要问题,就是调用项目内部安装的模块,很多工具不再需要npm -g 全局来 ...

  10. SpringMVC 流程?

    a.用户发送请求至前端控制器 DispatcherServlet. b.DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器. c.处理器映射器找到具体的处理器 ...