要在Vim中向前搜索蛋糕,我输入/cake,但当我按下返回键时,光标跳转到第一个匹配的位置。是否有类似于“查找下一个”的Vim命令?


n表示下一个,n表示上一个。

如果你用反向搜索呢?(例如,?cake)而不是/,相反。

如果它安装在您的系统上,您应该尝试从您的终端运行vimtutor命令,这将启动基本Vim命令的教程。

Rob Wells关于*和#的建议也非常中庸。


输入n将转到下一个匹配。


你可能在找n键。


恕我直言,Vim中最有用的快捷键是*键。

将光标放在一个单词上并按*键,您将跳转到该单词的下一个实例。

#键做同样的事情,但是它跳转到单词的前一个实例。

这真的很节省时间。


刚开始的时候,我需要看一个演示。

如何在Vim搜索

类型/ 输入搜索词。“var” 按回车键 下一个实例按n(前一个n)


如前所述,有几种搜索方法:

/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)

加上,用N和N导航前/下。

您还可以使用/调出搜索提示符,然后循环使用C-p/C-n来编辑/检索搜索历史。更有用的是q/,它会把你带到一个可以浏览搜索历史的窗口。

同样需要考虑的是非常重要的'hlsearch'(类型:hls启用)。这使得查找模式的多个实例变得更加容易。你甚至可能想让你的火柴更加明亮,比如:

hi Search ctermfg=yellow ctermbg=red guifg=...

但你可能会因为屏幕上持续不断的黄色火柴而抓狂。所以你会经常发现自己在用:noh。这是很常见的映射是按顺序的:

nmap <leader>z :noh<CR>

我很容易记住这个是z,因为我过去经常输入/zz<CR>(这是一个快速输入的不常见情况)来清除我的高亮显示。但是:noh映射要好得多。


如果你按下“/wordforsearch”之后按Ctrl + Enter,那么你可以在当前行中找到单词“wordforsearch”。然后按n进行下一个匹配;按N表示之前的匹配。