我已启用 incsearch 和 hlsearch 功能。
所以我按/
进入搜索模式。
然后我输入想要搜索的文本,它会找到我输入的文本的第一个出现位置。
然后我想要跳转到下一个匹配项,而不退出搜索模式,这样我就可以在不必退出正常模式、按n
键,再次按下/
键返回搜索模式的情况下,继续完善我的搜索文本。
如果这是可能的,我该如何实现?
我已启用 incsearch 和 hlsearch 功能。
所以我按/
进入搜索模式。
然后我输入想要搜索的文本,它会找到我输入的文本的第一个出现位置。
然后我想要跳转到下一个匹配项,而不退出搜索模式,这样我就可以在不必退出正常模式、按n
键,再次按下/
键返回搜索模式的情况下,继续完善我的搜索文本。
如果这是可能的,我该如何实现?
我找到的最好的方法如下:
使用/blah搜索您的模式
然后,按n或?直到您看到结果为止...
然后回到/并按CTRL-r /
这将带回您上次搜索的模式,以便您可以在那里继续输入更多文本...
我相信您可以将该组合键重新映射到某个键,以便您可以快速返回带有已输入模式的搜索。
我在freenode.net的#vim irc频道中,感谢bwana147的帮助,找到了一种解决方法。
:cnoremap <c-n> <CR>n/<c-p>
在搜索模式下键入文本,然后按下ctrl-n,可以在不退出搜索模式的情况下跳转到下一个匹配项。
cnoremap
和<c-g>
,因为我已经为自动完成映射了<c-p>/<c-n>)::cnoremap <c-g> <CR>n/<c-p>
。不幸的是,这个尝试会为每一步添加一个条目到跳转列表中,在incsearch mode
中<CR>
之前的中间步骤并没有这样做。 - blueyedincsearch
和hlsearch
。因此,我按/
进入搜索模式。然后,我输入要搜索的文本,它会找到第一个出现的文本。n
来完成。n
,再次按/
返回搜索模式。incsearch
所能实现的行为吗?使用Ctrl-g或Ctrl-t进行增量搜索。当您想要搜索某些内容时,请键入/后跟内容,然后按Ctrl-t,这将使光标跳转到第一个匹配项,但您仍处于搜索模式中,您可以添加“thing”以继续搜索,搜索模式将变为/something。
<C-p>
比<Up>
更容易输入。 - ZyX