vim如何搜索URL

vim如何搜索URL,vim,Vim,如何在vim中搜索以下字符串 http://my.url.com/a/b/c 我试过了(一个非常没有魔力的地方) 但它给了我: E492不是编辑器命令:/\Vhttp://my.url.com/a/b/c 你会认为有一种简单的方法可以逐字搜索字符串。。。我对斜杠转义每一个斜杠或编写复杂的搜索不太感兴趣,因为我必须在文本文件中快速搜索不同的URL。我不知道为什么你得到的是而不是编辑器命令,因为我没有。搜索而不必转义斜杠的最简单方法是使用?,例如 :?http://my.url.com/a/b/c

如何在vim中搜索以下字符串

http://my.url.com/a/b/c
我试过了(一个非常没有魔力的地方)

但它给了我:

E492不是编辑器命令:/\Vhttp://my.url.com/a/b/c


你会认为有一种简单的方法可以逐字搜索字符串。。。我对斜杠转义每一个斜杠或编写复杂的搜索不太感兴趣,因为我必须在文本文件中快速搜索不同的URL。

我不知道为什么你得到的是
而不是编辑器命令,因为我没有。搜索而不必转义斜杠的最简单方法是使用
,例如

:?http://my.url.com/a/b/c
" or since the : is not necessary
?http://my.url.com/a/b/c

这会朝另一个方向搜索,所以请记住,在vim中搜索只是
/
,而不是
:/
。您可以搜索仅转义斜杠的字符串:
/http:\/\/my.url.com\/a\/b\/c

另一种不转义向前搜索(从光标位置)的方法是使用
:s
命令

你可以做:

:%s@http://my.url.com/a/b/c@@n
然后按
n
向前导航匹配的文本,按
n
向后导航匹配的文本

如果您想知道缓冲区中有多少匹配项,请使用
gn
而不是
n


请注意,我说的是“不转义”,我说的是斜杠,如果你想精确搜索,你必须转义句号<代码>
。因为在正则表达式中,
表示任何字符。

也可以直接设置搜索寄存器

:let @/='\Vhttp://my.url.com/a/b/c'

然后您可以像正常情况一样使用
n
n

使用MacVim(或GVim)。使用打开非正则GUI搜索⌘f(或车窗上的ctrlf)。这是在Vim中执行非正则表达式搜索的推荐方法。GUI Vim比像这样的终端Vim有很多改进,如果您还没有,我强烈建议您全职使用它。

他得到“非编辑命令”的原因是他在命令模式下输入搜索,由“:”@MarkkuK指示。但是,当我从他的问题中执行他的确切命令时,我不明白这一点;它只是尝试为我搜索
\Vhttp:
;可能是版本的不同我认为这是版本的不同。我在远程机器(vim 7.0版)上得到“非编辑器命令”,但在本地机器(vim 7.3版)上得不到@ExplosionPills我在vim 7.0.237中得到“E488:尾随字符”。。。关于版本差异,您可能是对的。反向搜索还反转/交换“n”和“n”命令。我听说了一个让搜索正确进行的诀窍:点击“/”然后执行并清空forward seach,这将重复搜索,但会将您切换回前进方向。缺点:如果您经常搜索URL,那么添加所有这些斜线是一件痛苦的事;这就是我来这里要避免的。
:let @/='\Vhttp://my.url.com/a/b/c'