oeasy教您玩转vim - 87 - # 内容查找grep命令
内容查找 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命令的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- 文本内容查找grep、文件查找find、正则匹配
一.文本内容查找工具 grep grep egrep (文本过滤) fgrep (不支持正则) 对文本的内容按照指定的匹配模式基于行来进行筛选 格式 grep [选项] 模式 文件 选 ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
随机推荐
- java获取Linux和window系统多网卡mac地址和IP
public static List<Map<String, String>> getMacAndIp() throws SocketException { List<M ...
- vite.config.js 无法使用__dirname的解决方法
__dirname 是commonjs规范的内置变量.如果使用了esm 是不会自动注入这个变量的. 在commonjs中,注入了__dirname,__filename, module, export ...
- wpf 自定义轮播图组件
轮播图组件代码: [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)][TemplateP ...
- TDengine入驻Rainbond开源应用商店
前言 TDengine是一个高效的存储.查询.分析时序大数据的平台,专为物联网.车联网.工业互联网.运维监测等优化而设计.Rianbond擅长应用自动化管理 ,两者结合起来实现1+1大于2,本文详细讲 ...
- Tkinter界面实操
常用opencv-python进行图像处理,有时需要图形用户界面,写个Demo以备不时之需. Tkinter 1. 导入库 由于 Tkinter 是内置到 python 的安装包中.只要安装好 Pyt ...
- Redis单线程
Redis是基于Reactor模式开发的网络事件处理器,这个处理器是单线程的,所 以redis是单线程的. 为什么它是单线程还那么快呢? 主要有以下几个原因: 一.纯内存操作 由于Redis是纯内存操 ...
- C语言打印数字前补0
1.要求说明 例如有个数据为a = 0x10,要求打印输出为0x000010. 2.实现 1 #include <stdio.h> 2 3 4 int main() 5 { 6 int a ...
- LeetCode 680. Valid Palindrome II 验证回文字符串 Ⅱ(C++/Java)
题目: Given a non-empty string s, you may delete at most one character. Judge whether you can make it ...
- Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析
引言 在使用 Easysearch 时,如何在存储和查询性能之间找到平衡是一个常见的挑战.Easysearch 具备多种压缩模式,各有千秋.本文将重点探讨一种特别的压缩模式:zstd + source ...
- 关于 Elasticsearch 不同分片设置的压测报告
摘要 为了验证当前集群经常出现索引超时以及请求拒绝的问题,现模拟线上集群环境及索引设置,通过压测工具随机生成测试数据,针对当前的 850 个分片的索引,以及减半之后的索引,以及更小分片索引的写入进行压 ...