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 ...
随机推荐
- JS监听DOM创建和销毁
源码 web开发指南 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&quo ...
- mit 6.824 lab1 思路贴
前言 为遵守 mit 的约定,这个帖子不贴太多具体的代码,主要聊聊自己在码代码时的一些想法和遇到的问题. 这个实验需要我们去实现一个 map-reduce 的功能.实质上,这个实验分为两个大的板块,m ...
- 深入理解 Swoole 的底层加载原理
首发原文链接:深入理解 Swoole 的底层加载原理 PHP 扩展加载 我们从 php-src/sapi/cli/php_cli.c:1159 文件的入口函数 int main(int argc, c ...
- Gitea 代码仓库平台
引言 Gitea 是一个自己托管的 Git 服务程序.他和 GitHub,Bitbucket or Gitlab 等比较类似.它是从 Gogs 发展而来,不过它已经 Fork 并且命名为 Gitea. ...
- 如何更加优雅的使用 SSH 进行登录
引言 我们在日常的开发过程中,很多时候需要连接服务器查看日志或者在服务器上调试代码.但是,使用 ssh 命令登录服务器每次都需要输出密码,就比较繁琐.因此我们可以使用 sshpass 通过参数指定密码 ...
- 【论文笔记】ResNet深度残差网络
[深度学习]总目录 深度残差网络(ResNet)由微软研究院的何恺明.张祥雨.任少卿.孙剑提出.研究动机是为了解决深度网络的退化问题,不同于过去的网络是通过学习去拟合一个分布,ResNet通过学习去拟 ...
- java中以字符分隔的字符串与字符串数组的相互转换
1.字符串数组拼接成一个以指定字符(包括空字符)分隔的字符串--String.join(),JDK8的新特性 String[] strArray = {"aaa","bb ...
- 抖音abogus逆向分析
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...
- BOM弹窗 滚动条
// window.alert('弹出内容') 警告框 // window.prompt('弹出内容') 输入框 // 以 字符串 形式 存储输入 ...
- kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战
1.MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽.高延迟或不可靠网络的设备. MQTT 是基于发布 ...