Vim 查找进阶详解

回忆上节课内容🤔

实时搜索

  • :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 符合

图片描述

快速不按单词查找

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

图片描述

设置 vim

  • 如果关于搜索高亮的这些设置你想每次打开 vim 就设置好
  • 那需要设置当前用户的vim配置文件 vi ~/.vimrc
  • G 到文件的尾部
  • o 在下面新建一行
  • set hlsearch 设置搜索高亮
  • set wrapscan 设置从头搜索
  • 然后重启这些配置就永远保存在你这个当前用户的 vim 里面了
  • 当然,如果是实验楼重启新环境的话会消失

总结

  • 实时搜索

    • :set incsearch
  • 大写小写

    • ignorecase
  • 查找当前单词

    • * 正向按单词完全匹配
    • # 反向按单词完全匹配
    • g* 正向不按单词匹配
    • g# 反向不按单词匹配
  • 继续查找

    • n保持方向
    • N改变方向
  • 这个搜索可以做一些模糊匹配吗?

  • 下次再说吧 👋

教程来源于Github,感谢overmind1980大佬的无私奉献,致敬!

技术教程推荐

深入浅出gRPC -〔李林锋〕

React实战进阶45讲 -〔王沛〕

零基础学Java -〔臧萌〕

性能测试实战30讲 -〔高楼〕

分布式数据库30讲 -〔王磊〕

动态规划面试宝典 -〔卢誉声〕

Spring编程常见错误50例 -〔傅健〕

容量保障核心技术与实战 -〔吴骏龙〕

中间件核心技术与实战 -〔丁威〕