我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:

/copyright/i    # Doesn't work

但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。


当前回答

您可以在搜索之前在Vim中设置ic选项:

:set ic

要返回区分大小写的搜索,请使用:

:set noic

ic是ignorecase的简写

其他回答

您可以在模式中的任何位置使用\c转义序列。例如:

/\c版权所有或/copyright\c或甚至/copyri\cht

要进行反向匹配(区分大小写匹配),请改用\C(大写C)。

将此命令放入vimrc文件

set ic 

始终执行不区分大小写的搜索

为了在区分大小写和不区分大小写的搜索之间切换,我在.vimrc中使用了这个映射

nmap<F9>:设置忽略!无知?

正如@huyz所提到的,有时需要的行为是使用不区分大小写的搜索,但使用区分大小写替换。我的解决方案是:

nnoremap / /\c
nnoremap ? ?\c

当你打/或时总是这样?它将为不区分大小写的搜索添加\c。

正如其他人所建议的:

:set ic

但最酷的是,您可以通过以下方式切换这些模式:

:set ic!