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 改变方向
#
- 向上进行查找
*、#
- 刚好是电话按键中的对称两个
明确头尾的单词
如果我查找的是
/as
as
符合要求ask
符合要求has
也符号要求oeasy
都符合要求
要以
as
为单词结尾/as\>
as
符合has
符合
要以
as
为单词开头/\<as
as
符合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 ...
随机推荐
- 食道测压结合Manoview软件
我认为是位于食道开始的地方是上食道括约肌(UES):upper esophageal sphincte,吞咽时,此处的压力会有变大.食道结束的地方是食道下括约肌(LES),从这在往下就是胃,一般情况这 ...
- Vue cli之使用Vue-CLI初始化创建前端项目
1.生成项目目录 使用vue自动化工具可以快速搭建单页应用项目目录. 该工具为现代化的前端开发工作流提供了开箱即用的构建配置.只需几分钟即可创建并启动一个带热重载.保存时静态检查以及可用于生产环境的构 ...
- jQuery——链式操作
链式操作,即连续操作. 例如: <!DOCTYPE html> <html> <head> <script src="https://cdn.boo ...
- 解决PMML namespace URI httpwww.dmg.orgPMML-4_4 is not supported
使用pmml的方式跨平台部署机器学习模型时,在java中加载模型,出现了该错误 原因:java的jar包版本与PMML文件的版本不相符,jar包的版本过低无法解析PMML文件.如果升级jar包,加载模 ...
- react 数据请求分层
封装一个接口请求类 数据模型 请求uri配置设置 数据统一存储于redux中,在本项目中创建一个store目录,此目录中就是redux仓库源 定义仓库入口 reducer methods方法 acti ...
- php分页查询 子查询
分页查询 将查询结果只显示一部分 通过两个参数:参数1 起始数据的索引下标 参 ...
- 浅谈ChatGPT模型中的惩罚机制
本文由ChatMoney团队出品 在探讨ChatGPT模型的文本生成能力时,除了采样算法,惩罚机制同样扮演着至关重要的角色.这些机制不仅影响生成文本的多样性和创意性,还为我们提供了调整文本风格和质量的 ...
- Android Studio 编译报错:download fastutil-7.2.0.jar
引用:https://www.cnblogs.com/caoxinyu/p/10568462.html build.gradle 可能有多个,一般在app 节点,默认里面不包含buildscript, ...
- invalid comparison: java.util.ArrayList and java.lang.String 异常分析及解决方法
nvalid comparison: java.util.ArrayList and java.lang.String 异常解决方法异常原因首先我们可以确定是在mybatis的xml中的 list 操 ...
- 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的.而 Mybatis 在查询关联对象或关联集合 ...