44

在一个大缓冲区中,我想向下滚动到模式pattern的最后一次出现。

如果我是第一次出现,则很容易搜索模式 /,将移动到下一次出现 nN到达最后一次..

如果我处于一系列事件的中间......有没有更好的跳跃方式?

4

4 回答 4

88

找到最后一次出现的一种简单方法是跳到末尾并向后搜索:

G?foo<CR>

事实上,如果您已经在搜索某些内容,还有一种更简单的方法。只需跳到最后并向后搜索您刚刚搜索的内容

GN

就那么简单。

编辑:如果您的搜索发生在最后一行,那么GN将跳过它到倒数第二次出现。使用ggN将解决这个问题。(gg?foo<CR>出于类似的原因。)

于 2013-03-29T16:49:14.043 回答
5

一个可能更长的解决方案:

:vim foo % | clast
于 2013-03-29T19:26:02.757 回答
5

您可以尝试通过向后搜索?

:1?SEARCH_PHRASE
于 2020-04-01T13:48:42.870 回答
0

另一种解决方案是:

G/\(.\{-}\zs\(foo\)\)\{1,}<CR>
于 2016-01-08T18:22:28.550 回答