在vim中"找到下一个"

Ykt*_*ula 496 vim editing

要在vim中向前搜索cake,我会输入/cake,但是当我按下返回时光标会跳到第一个匹配.是否有类似于"查找下一个"的vim命令?

Xav*_* T. 826

这是n为了下一个和N以前的.

如果你使用?(例如?cake)反向搜索而不是反向搜索,那么反之亦然/.

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

罗布井的建议有关*,并#也很中肯.


Rob*_*lls 205

vim中最有用的快捷方式是*关键.

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

#键不相同,但跳转到这个词的一个实例.

真正节省时间.

  • 如果不明显的话,一旦你按下`*`,`n`和`N`就会带你前进和后退`*`匹配.(或者你可以继续按'*`继续前进或`#`后退,但使用那些移位键通常是次优的.) (6认同)
  • @Herbert,实际上n和N不会带你"前进"和"后退".正如上面提到的@Xavier所说,n是**next**,N是**previous**.通过使用'/'键和'?'来说明搜索来控制前后搜索.键或'*'键和'#'键. (3认同)

iam*_*sam 73

当我开始时,我需要观看演示

如何在VIM中搜索

  1. 类型 /
  2. 类型搜索词例如"var"
  3. enter
  4. 对于下一个实例按n(前一个 N)

  • 输入 `*` 是不正确的。即文件`aa aaa`。搜索`/aa`,你必须匹配。在第一次匹配时,按“*”会更改搜索词。 (2认同)
  • 也尝试`g *`:) (2认同)

sam*_*var 15

你在n找钥匙吗?


Jim*_*lle 14

打字n将进入下一场比赛.


Mic*_*ott 13

如上所述,有几种搜索方式:

/pattern
?pattern
* (and g*, which I sometimes use in macros)
# (and g#)
Run Code Online (Sandbox Code Playgroud)

另外,用N和导航prev/next n.

您还可以通过提取搜索提示来编辑/调用搜索历史记录/,然后使用C-p/ 循环C-n.更有用的是q/,它会将您带到一个可以浏览搜索历史的窗口.

另外要考虑的是非常重要的'hlsearch'(:hls要启用的类型).这样可以更轻松地找到模式的多个实例.您甚至可能希望通过以下方式使您的比赛变得更加明亮:

hi Search ctermfg=yellow ctermbg=red guifg=...
Run Code Online (Sandbox Code Playgroud)

但是你可能会因为整个屏幕上的黄色火柴而疯狂.所以你经常会发现自己在使用:noh.这是如此常见以至于映射是有序的:

nmap <leader>z :noh<CR>
Run Code Online (Sandbox Code Playgroud)

我很容易记住这一个z因为我曾经不断打字/zz<CR>(这是一种快速到类型的罕见事件)来清除我的突出显示.但是:noh映射更好.

  • 如果你感受到`q /`的启发,你也应该玩`q:`.两者都非常方便!(但这与这个问题没有关系.) (2认同)

小智 6

如果在按“/wordforsearch”之类的内容后按Ctrl+ Enter,则可以在当前行中找到“wordforsearch”这个词。然后按n进行下一场比赛;按下N上一场比赛。