如何在VIM中退出搜索模式?

b4lqfgs4  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(692)

给定如下文件:

blah
blah
collection = getCollection();
process(somethingInTheWay, target);

......在Vim中执行了这一系列简短的“搜索”命令后......

/col<carriage return>

我的光标将在第一次出现的“收藏”下。
现在,什么命令可以从我的vim命令行中删除'/col'(例如,在我想重新搜索的情况下)?

qv7cva1a

qv7cva1a1#

我不完全明白你的意思,因为有几个因素在其中起作用。您的输入("/col")在搜索后会在命令行中显示一段时间。通常人们并不关心这一点,过了一段时间后会发现它甚至很有帮助。当你按下Enter键后,你已经离开了“搜索模式”,然后vim将光标放在第一个匹配项上。当重绘屏幕或需要空间时,Vim会懒洋洋地删除搜索字符串。如果你想删除它,有几种方法:

  • Ctrl-L(重绘)
  • :redraw
  • 以下各项的任意组合:使用Esc或Backspace键

现在我写了,你已经用回车键离开了“搜索模式”,但是你可以用n / N键 * 在任何时候 * 继续你最后的搜索。这些命令只会取特殊寄存器/中的任何内容,并将其用于进一步的搜索。通过删除/中的最后一个搜索模式,可以“禁用”这种行为:

:let @/ = ""

您可以手动将一些内容放入该寄存器中,这将使您能够“继续搜索”,而无需启动任何搜索。
如果您只想删除当前突出显示的匹配项,请键入:

:noh

通常,您可以关闭或切换高亮显示匹配项:

:set nohls
:set hls!

后者是键绑定的一个很好的选择。我用它来切换最后一个搜索的突出显示(助记符:klear -不是很准确,但对我很有效):

:nno <C-k> :set hls!<CR>

相关问题