查找

  • 查找文本

  • 搜索模式

  • 全局搜索

查找文本

常用命令(在命令模式下)

命令 说明
/abc 从光标所在位置向前查找字符串 abc
?abc 从光标所在位置向后查找字符串 abc
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定
/^abc 查找以 abc 为行首的行
/abc$ 查找以 abc 为行尾的行

注意事项

Pattern not found

如果在文件中并没有找到所要查找的字符串,文件底部会出现 "Pattern not found" 提示

大小写敏感

在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"

特殊字符

如果在字符串中出现特殊符号,则需要加上转义字符 ""。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10$"。

小技巧

  • 使用/或者?进行前向或者反向搜索

  • 使用n或b进行上一个或下一个跳转

  • 使用*或#进行当前字符或单词的匹配;n定位到下一个,N定位到上一个

搜索模式

常用命令(在命令模式下)

命令 说明
:/pattern 搜索包含pattern的行
:/pattern/d 删除下一个包含pattern的行
:/pattern/+d 删除下一个包含pattern的下一行,+d就是+1d,也可以是n
:/pattern/,/pattern2/d 从第一个包含pattern的行删除到第一个包含pattern2的行
:.,/pattern/mn 将当前行到第一个包含pattern的行之间的文本放到第n行之后

全局搜索

常用命令(在命令模式下)

命令 说明
:g/pattern 查找移动到文件中最后一次出现pattern的地方
:g/pattern/p 查找并显示文件中包含pattern的地方
:g!/pattern/nu 查找并显示文件中不包含pattern的地方,并显示行号
:1,10g/pattern/p 查找并显示第1行到第10行之间包含pattern的地方

g不光可以用于全局搜索,也可以用于全局替换