持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
结识查找命令
今天我们学习的一个新的命令:查找命令,在这篇文章中,我们主要介绍查找命令的基础知识,包括怎样指定查找的方向,如何重复(或反向重复)上一次查找,以及怎样使用查找历史。下面就开始我们今天的学习。
执行一次查找
在普通模式下,按下 / 键会调出 Vim 的查找提示符,我们可在它的后面输入要查找的模式或者原义文本。另外,只有当我们按下回车键时,Vim 才会执行查找命令,而如果换用 <Esc> 键的话,查找提示符会消失,我们将重回普通模式。
当我们执行一次查找时,Vim 会从当前光标位置开始向下扫描,停在所找到的第一处匹配上。如果 Vim 扫描到文档结尾仍未找到目标,会提示“已查找到文件结尾,再从开头继续查找”,这意味着在某些情况下,一次正向查找反而把我们带到了查找起点之前。
指定查找的方向
当我们使用 / 键执行一次查找时,Vim 将进行正向扫描。而如果是用 ? 键调出查找提示符的话,Vim 则会进行反向查找。查找提示符始终以 / 或者 ? 字符开头,表明此次查找的扫描方向。
重复上一次查找
当我们使用 / 命令匹配到某个文本时,如果我们想要继续查找,只需要执行 n 命令。n 命令用于跳转到下一处匹配,而 N 命令则用于跳转到上一处匹配。我们可以方便地在各个匹配之间往来穿梭。但“下一处匹配”的定义取决于上下文环境。
需要注意的是:命令 n 既会保证查找方向不变,又会使查找的偏移与上一次保持一致。因此,如果我们用 / 执行一次正向查找,n 将继续向下查找;而如果最初的查找命令是 ? 的话,n 将继续向上查找。同时,N 命令将始终与上一次查找的方向保持相反。
回溯之前的查找
Vim 会一直记录我们执行过的查找模式,因此可以方便地重用它们。当查找提示符出现时,我们可以通过 <Up> 键,滚动浏览之前的查找记录。
参考文档
- 《Vim实用技巧》—— [英]Drew Neil