Vim找到最后一次出现

Rob*_*ino 28 vim

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

如果我在第一次出现时,它是很容易搜索模式 /,扭转移动到下一个出现 nN并获得了最后..

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

Sco*_*son 64

找到最后一个匹配项的简单方法是跳到最后并向后搜索:

G?foo<CR>
Run Code Online (Sandbox Code Playgroud)

事实上,如果你已经在搜索某些东西,那就更简单了.只需跳到最后并向后搜索您正在搜索的内容:

GN
Run Code Online (Sandbox Code Playgroud)

就那么简单.

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

  • 我也建议我的'ggN`,即使它还有一个关键的击球.因为`GN`只有在最后一个匹配不在文件的最后一行时才有效.如果它位于最后一行,你的`N`将跳过它. (5认同)

rom*_*inl 5

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

:vim foo % | clast
Run Code Online (Sandbox Code Playgroud)


Wol*_*ack 5

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

:1?SEARCH_PHRASE
Run Code Online (Sandbox Code Playgroud)