oeasy教您玩转vim - 34 - # 查找进阶
查找进阶
回忆上节课内容
- 上次是搜索,是全文搜索
和我们以前的行内有点像
- / 正向,? 反向
- n 保持方向,N 改变方向
hls让搜索结果高亮wrapscan可以从头搜索noh取消本次高亮
实时搜索
:set incsearch- 实时匹配搜索输入
:set noincsearch- 不实时匹配搜索输入

大写小写
如果查找要忽略大小写的话
- 就用
ignorecase :set ignorecase- 简写为
:se ic - 取消为
:se noic
- 就用
:se ic可以和:set smartcase智慧大小写配合- 如果搜索模式里面有
大写字母就完全匹配 - 如果没有
大写字母就忽略大小写
- 如果搜索模式里面有
还可以直接在搜索项里加开关
/oeasy\c不区分大小写的oeasy/oeasy\C区分大小写的oeasy
- 具体可以
:h ignorecase

查找当前
如果我们在一个单词上面的时候
- 按下 *
- 就是查找当前光标所在的单词
- 这很适合查找某个函数名
- 或者查找变量名的引用
继续遍历搜索
- n 保持方向
- N 改变方向
#
- 向上进行查找
*、#
- 刚好是电话按键中的对称两个

明确头尾的单词
如果我查找的是
/asas符合要求ask符合要求has也符号要求oeasy都符合要求
要以
as为单词结尾/as\>as符合has符合
要以
as为单词开头/\<asas符合ask符合
我们就要
as这个单词/\<as\>- 只有
as符合

快速不按单词查找
如果我们使用 * 的话
- 是按照整个单词查找的
- 比如放到
as的a上 - 就是说查到的一定得是个完整单词
/\<as\>
如何不按照单词查找呢?
- 比如放到
as的a上, - g*、g#进行查找
- 只要有
as就算
oeasy也符合要求
- 比如放到

设置 vim
- 如果关于搜索高亮的这些设置你想每次打开
vim就设置好 - 那需要设置当前用户的vim配置文件
vi ~/.vimrc - G 到文件的尾部
- o 在下面新建一行
set hlsearch设置搜索高亮set wrapscan设置从头搜索- 然后重启这些配置就永远保存在你这个当前用户的
vim里面了 - 当然,如果是实验楼重启新环境的话会消失
总结
实时搜索
:set incsearch
大写小写
ignorecase
查找当前单词
- * 正向按单词完全匹配
- # 反向按单词完全匹配
- g* 正向不按单词匹配
- g# 反向不按单词匹配
继续查找
- n保持方向
- N改变方向
- 这个搜索可以做一些模糊匹配吗?
- 下次再说吧
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)
oeasy教您玩转vim - 34 - # 查找进阶的更多相关文章
- 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
我们来回顾一下 上一部分我们都讲了什么?
- 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教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010107那啥在哪 whereis
回忆上次内容 上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置. 现在我们要制作这样一个列表:
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
随机推荐
- 环境声音分类的深度 CNN 模型
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI 声音事件的分类精度与特征提取有很强的关系.本文将深度特征用于环境声音分类(ESC)问题.深层特征是通过使 ...
- tcc-transaction源码详解
更多优秀博文,请关注博主的个人博客:听到微笑的博客 本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的:不涉及具体使用示例.本文通过分析tcc-transaction源码带大家了解TCC分布式 ...
- 基于深度学习的入侵检测系统综述文献概述——AI科研之路
1.研究方向的背景是什么? (1)互联网发展迅速,网络安全态势严重 (2)现在的入侵检测准确率不够高,不能适应现在的需求 2.前人做了哪方面的工作获得了什么成果? 近代: 将网络作为入侵来源之后发展( ...
- Django模板templates
1.模板文件的路径配置 2.模板中变量替换 3.变量渲染之深度查询 4.内置过滤器 过滤器的语法: {{obj|过滤器名称:过滤器参数}} 内置过滤器: 过滤器例子: 5.注释 6.多行注释 7.if ...
- golang 切片原理面试题
package main import "fmt" func main() { var s = make([]int, 0, 10) _ = append(s, 1,2,3) fm ...
- 详解在Linux中同时安装配置并使用 MySQL5.7 和 MySQL8.0
最近需要使用mysql8.0版本,但是原本的mysql5.7版本已经被多个服务依赖,于是想想能不能同一台服务器装多个版本的mysql,一查确实可行,这里做一个记录方便自己后期回忆 阅读本文前请注意!! ...
- 红白机基本原理(二) CPU
CPU 首发公号:Rand_cs NES 使用的 CPU 为 6502,但与标准的 6502 有些许不同,最大的不同在于 NES 使用的芯片拥有一个 pAPU(pseudo-Audio Process ...
- kettle从入门到精通 第六十五课 ETL之kettle 执行动态SQL语句,轻松实现全量&增量数据同步
本次课程的逻辑是同步t1表数据到t2表,t1和t2表的表机构相同,都有id,name,createtime三个字段. CREATE TABLE `t1` ( `id` bigint NOT NULL ...
- vue排行榜 加单位
- ISO pod 使用
pod 安装 相关依赖包 新建podfile 文件 pod init 编辑podfile文件添加第三方库 // pod '第三方依赖库名', '版本号' pod 'SDWebImageSwiftUI' ...