Vim 如何搜索?(包括高亮搜索)

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/

截止目前, 星球 内专栏累计输出 72w+ 字,讲解图 3103+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2400+ 小伙伴加入学习 ,欢迎点击围观

本小节中,我将介绍 Vim 中搜索的基本用法以及一些高级搜索技巧,助你更高效地定位和浏览代码。

1. 基本搜索

在 Vim 中,基本的搜索操作使用 / 命令。在普通模式下,输入 / 后紧跟着你要搜索的关键字,按 Enter 键即可。例如,搜索字符串 "function":

/function

按下 n 键可跳转到下一个匹配项,按 N 键可跳转到上一个匹配项。

2. 使用正则表达式

Vim 支持强大的正则表达式搜索。在搜索时,你可以使用正则表达式来匹配更复杂的模式。例如,搜索以字母 "a" 开头的单词:

/\va\w*

这里,\v 表示启用非逃逸的非规范(very magic)模式,\w* 表示匹配零个或多个单词字符。

3. 逐个确认搜索

通过在搜索命令末尾添加 c 选项,你可以逐个确认每次搜索匹配。例如:

/function/c

这会在每次匹配时询问是否要跳转,按下 y 表示跳转,按下 n 表示不跳转。

4. 搜索高亮显示

通过设置 hlsearch 选项,可以使搜索匹配项高亮显示。在命令模式下输入:

:set hlsearch

这样,搜索关键字匹配的内容将被突出显示。

5. 全词匹配

通过在搜索关键字前后添加 \b,可以进行全词匹配。例如,搜索单词 "test":

/\btest\b

6. 搜索替换

使用 :s 命令可以进行搜索替换。例如,将文件中所有的 "old" 替换为 "new":

:%s/old/new/g

7. 搜索历史

按下 q/ 可以打开搜索历史记录,你可以选择之前使用过的搜索项。

结语

Vim 的搜索功能是其强大编辑能力的一部分,能够在大型代码库中迅速定位关键字。掌握这些搜索技巧将提高你在 Vim 中编辑代码的效率。