Vim中的文本搜索方向


10

在通过执行“?foo”搜索“ foo”之后,我可以通过“ n”向前搜索或通过“ N”向后搜索,但是有时n / N方向会在搜索过程中翻转。如果我重新启动Vim,就可以了。我可能按了什么键顺序导致这种情况?如何恢复到正常模式?

我不记得我曾经在旧版Vi中遇到过这种情况。

编辑:这不是Caps Lock键。(还是)感谢你的建议。


我想这不只是文件结尾/开头的换行?还是您输入*或反向搜索?我知道我无意间做了很多时间。
Dave Vogt 2010年

@Dave Vogt,不只是文件的结尾/开头。我刚刚测试过“ ”,是的,如果我按“ ”,我可以更改/更正搜索方向。如果您回答,我将投票赞成并接受。谢谢。
grokus 2010年

Answers:


11

如果您开始使用进行向后搜索?foobar,然后按/中间的按钮,则会发生这种情况。现在,您正在向前搜索,因此nN相对于您以前拥有的已切换。如果您从中间开始/并按下?中间键,将会发生相同的事情。


先生,你是对的。我只是测试了你说的话。你能告诉我“ *”在这中间扮演什么角色吗?
grokus,2010年

1
@grokus:*意味着向前搜索光标下的任何单词。
丹妮丝

@Daenyth,谢谢。我一直以为我在Vim上还不错。(我可以把事情做好)今天我正在重新考虑我的职位。
grokus,2010年

并跟踪@Daenyth,您可以使用反向搜索光标下方的任何单词#。这些仅在完整单词上匹配。要搜索光标下的单词(包括其他单词在内),请使用g*
Nathan Fellman,2010年

3

听起来很蠢,但是您是否检查了Caps-Lock?


是的,我做到了。它处于“关闭”位置。我已经多次看到这种行为,所以我终于受够了,并决定深入研究此问题。
grokus 2010年

0

内森已经回答了为什么出现这种情况,但如果你经常使用的两个方向,并希望n永远向前看,N始终回头看,这样你搜索的是哪个,你可以把这个在你不管.vimrc

nmap n /<CR>
nmap N ?<CR>

/并且?不带参数执行一次搜索,在各自的(绝对)的方向。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.