要在Vim中向前搜索蛋糕,我输入/cake,但当我按下返回键时,光标跳转到第一个匹配的位置。是否有类似于“查找下一个”的Vim命令?
n表示下一个,n表示上一个。
如果你用反向搜索呢?(例如,?cake)而不是/,相反。
如果它安装在您的系统上,您应该尝试从您的终端运行vimtutor命令,这将启动基本Vim命令的教程。
Rob Wells关于*和#的建议也非常中庸。
恕我直言,Vim中最有用的快捷键是*键。
将光标放在一个单词上并按*键,您将跳转到该单词的下一个实例。
#键做同样的事情,但是它跳转到单词的前一个实例。
这真的很节省时间。
如前所述,有几种搜索方法:
/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表示之前的匹配。