如何在vim中搜索不区分大小写的模式?


18

我偶尔通过的文件中搜索的vimless使用/?,但据我所知,搜索模式是区分大小写的。

因此,例如,/foo将找不到与之相同的事物/FOO。有没有办法使它变得不那么严格?我怎样才能在搜索vimless为不区分大小写的模式?


2
less搜索中,不区分大小写,除非您使用包含大写字母的字符串。因此,foo将匹配FooFoOFoo仅匹配Foo而不匹配,foo等等。另请参见此处:less始终不区分大小写
terdon

1
@terdon有趣!我正在努力理解less以这种方式行事的“原因”,但我想这是另一天的话题。谢谢!
Mike B

好吧,一方面,我发现在搜索手册页时非常有用。我不喜欢区分大小写。有很多关于此的文章,也可以在这里查看:我可以强制`man`进行小写敏感匹配吗?此处:手册页中不区分大小写的搜索。实际上,如果您不介意,我会less从您的问题中删除,因为其他帖子对此进行了很好的介绍,并且您收到的答案也说明了如何在vi中进行操作。
terdon

@terdon很好,虽然我倾向于同时使用less和,但请考虑保留此评论对话框,vi并且该信息很有价值。
Mike B

需要澄清的是,我确实在使用vim(即使输入vi)。抱歉造成混乱。
Mike B

Answers:


21

vi或中,vim您可以忽略case by :set ic,随后所有搜索将考虑该设置,直到您通过重置为止:set noic。在less里面有选择-i-I忽略大小写。


9
我也想推荐:set smartcase,以便仅在至少使用大写字符时才搜索区分大小写。
Bernhard

3
仅作记录,smartcase vim。但是OP的“ vi”很可能是vim,因此值得一提/尝试。
2015年

@ Random832是的。正确。更新了原始问题,vim而不是提及vi
Mike B


2

.vimrc文件中,包括

set ignorecase

要么

set ic

要重新启用区分大小写,请使用:set ic!


1
嗨!这看起来还可以,但是它对已经接受的答案没有多大作用,对吗?
dhag 2015年

1
@dhag所有答案都提供了完成同一任务的不同方法。在.vimrc中设置值可以使该设置在其他vim会话中保持不变。
todgru 2015年

@dhag是正确的,因为它并不能用更少的时间解决OP的问题。
todgru 2015年
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.