![如何转到文件中的第一个搜索结果?](https://linux22.com/image/1386574/%E5%A6%82%E4%BD%95%E8%BD%AC%E5%88%B0%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C%EF%BC%9F.png)
vim 中是否有命令可以导航到文件中的第一个搜索结果(即行号最低的那个)?如果我这样做/foo
,我能否在文件中找到 的第一个实例foo
(不是从我在文件中的位置开始,而是从文件的开头开始)?
答案1
ggn
将带您到文件中搜索的第一个实例 - 带gg
您到文件的开头并转到n
您的模式的下一个匹配。
您还可以使用gg2n
转到文件中的第二个实例,或gg42n
转到第 42 个实例。同样,您可以使用G$N
转到最后一个匹配项(G
转到最后一行,$
转到该行的末尾,然后N
向后搜索),或G$2N
转到倒数第二个匹配项。
答案2
模糊的 Ex 命令可获得胜利:
:ij[ump] foo "jumps to first foo that is not in a comment
:ij[ump]! foo "jumps to first foo, comment or not
也可以看看:il[ist]
。
答案3
使用该gg
命令导航到文件的开头。
gg
/foo
答案4
如果你的光标位于文件中的某个匹配项上,则还有另一个很酷的快捷方式:
[<C-i>
(需要明确的是,这是左括号 ([) 后跟 control-i)
这就像使用“*”命令,但让它转到文件中的第一个匹配项,而不是光标后的下一个匹配项