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 ...
随机推荐
- handsontable有显示值与实际值的下拉框cobbobox扩展
一.效果与使用 二.代码 /// <reference path="handsontable.full.min.js" /> //封闭在IIFE中 (Handsonta ...
- 昇腾开发全流程 之 MindSpore华为云模型训练
前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2, 并打通一个训练到推理的全流程思路. 在本篇章,首先我们开始进入训练阶段! 训练阶段 A. 环境搭建 MindS ...
- KPM算法求字符串的最小周期证明
先给出公式 ans = n - LPS[n-1] 其中ans为最小周期,n为给出的由假设的周期字符串中提取出的子串长度,LPS为前缀函数,n-1为字符串最后的位置下标 证明如下 证明ans = n - ...
- nginx接受请求连接事件模块流程
操作系统内核: 三次握手,当用户发来一个 SYN 报文时,系统内核会返回一个SYN+ACK确认给客户端,当客户端再次发送ACK来的时候,此时就已经建立了三次握手. 完成三次握手后,操作系统会根据系统内 ...
- mysql binlog查看指定数据库
1.mysql binlog查看指定数据库的方法 MySQL 的 binlog(二进制日志)主要记录了数据库上执行的所有更改数据的 SQL 语句,包括数据的插入.更新和删除等操作.但直接查看 binl ...
- 鸿蒙HarmonyOS实战-ArkTS语言基础类库(概述)
一.概述 1.什么是语言基础类库 语言基础类库,也称为标准库或核心库,是编程语言提供的一组内置的基础功能和常用工具的集合.它通常包含了各种数据结构.算法.输入输出处理.字符串处理.日期时间处理.文件操 ...
- python+k8s——基础练习
列表 core_api = client.CoreV1Api() # 管理核心资源(Pod, Service, ConfigMap 等) apps_api = client.AppsV1Api() # ...
- windows报错
如果说你dns没有权威的话1.先去long.com上面右键属性把"区域传送给所有服务器打勾"2.右键属性,在名称分析器中,输入要添加为辅助dns的服务器的ip显示解析成功就可以了
- C#.NET Winform使用线程承载WCF (硬编码配置)
winform同步承载WCF时,遇到大量请求,可能会阻塞UI线程.这时就需要开个线程来承载WCF. 1.硬编码形式创建WCF服务,WCFServer类: using CommonUtils; usin ...
- String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的
a.可变性:String类中使用字符数组保存字符串,private final char value[],所以string对象是不可变的.StringBuilder与StringBuffer ...