vim学习六之搜索命令「建议收藏」

2022-11-09 14:48:49 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君

目录

  • Vim基本搜索命令
    • / 或者? 搜索
    • n/N 正反向下一个
    • 光标处单词搜索
  • Vim高亮搜索
  • 搜索大小写敏感
  • 搜索进阶
  • Vim正则表达式搜索
    • 查找在行首的特定串
    • 查找在行尾的特定串
    • 匹配特定行

Vim基本搜索命令

/ 或者? 搜索

在Vim普通模式下,输入 / 或 ? 符号就进入了搜索模式,/ 用于正向往下搜索,? 用于反向往上搜索。

n/N 正反向下一个

在搜索模式下可以对Vim打开的整个文本内容进行搜索,当按下 n 时可以继续正向查找下一个相匹配的目前单词。N 的作用与 n 相反,是往上反向搜索目标单词。

光标处单词搜索

在Vim命令模式下,如果要搜索当前光标下的单词,除了可以使用/ 和 ?外,还可以使用特殊命令* 和 #。

假设光标当前所有单词为the,那么在当前光标位置执行命令 * 相当于搜索命令 /<the>,命令 # 等同于命令 ?<the>。

< 是一个单词定界符,表示只匹配单词的开头; > 也是单词定界符,表示只匹配单词末尾。

注意:搜索一些特殊的字符,例如:*、[、]、^、%、/、?、~、$等,需要在它们的前面加上转义符号。

Vim高亮搜索

为了在Vim中高亮显示被搜索的字符,可以使用命令 :set hlsearch,可以在Vim命令行模式执行命令或者在配置文件 .vimrc 中进行永久设置。

如果需要清除最近一次的屏幕搜索高亮结果,可以在Vim命令行模式使用命令 :nohlsearch 或其缩写形式 :noh。

搜索大小写敏感

默认Vim搜索命令是大小写敏感的,因此,搜索 the 不会查找到 The。使用命令 :set ignorecase 会使得Vim搜索变得不区分大小写。

可以在搜索命令中使用 c 来强制使得当前搜索模式不区分大小写, 而命令 C 则会强制当前搜索模式大小写敏感。 因此,/thec 既会查找 the,也会查找到 THE 或者 The 等等。

搜索进阶

在搜索命令前还可以增加一个整数,用于表示搜索目标出现的位置。 例如,3/pattern 将会搜索模式 pattern 第三次出现的位置, 而 3* 会搜索当前光标所在位置单词第三次出现的位置。

Vim正则表达式搜索

为了更好的进行搜索,Vim支持正则表达式,最基本的正则表达式规则包括:

代码语言:javascript复制
^         表示一行的开头
$         表示一行的结尾
.         表示任意一个字符
*         匹配0次或n次

查找在行首的特定串

查找在行尾的特定串

匹配特定行

代码语言:javascript复制
上图中使用了/^test.*$
其中^表示匹配行首、
.*表示匹配任意字符、
$表示匹配行尾,
合起来表示搜索任意以test开头的行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190343.html原文链接:https://javaforall.cn

0 人点赞