欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转vim - 34 - # 查找进阶

2021-09-01 06:25 作者:oeasy  | 我要投稿

查找进阶

回忆上节课内容🤔

  • 上次是搜索,是全文搜索

  • 和我们以前的行内有点像

    • /正向,?反向

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

快速不按单词查找

  • 如果我们使用*的话

    • 是按照整个单词查找的

    • 比如放到 asa

    • 就是说查到的一定得是个完整单词

    • /\<as\>

  • 如何不按照单词查找呢?

    • oeasy 也符合要求

    • 比如放到 asa 上,

    • g*、g#进行查找

    • 只要有 as 就算

设置 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 - # 查找进阶的评论 (共 条)

分享到微博请遵守国家法律