查找
- 查找文本
- 搜索模式
- 全局搜索
查找文本
常用命令(在命令模式下)
命令 | 说明 |
---|---|
/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不光可以用于全局搜索,也可以用于全局替换
Comments | NOTHING
该文章已经关闭评论