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

/copyright/i    # Doesn't work

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


当前回答

好的老vim[grep]命令。。

:vimgrep /example\c/ &

\c表示不区分大小写\C表示区分大小写%是在当前缓冲区中搜索


其他回答

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

:set ic

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

:set noic

ic是ignorecase的简写

我更喜欢在搜索字符串末尾使用\c:

/copyright\c

好的老vim[grep]命令。。

:vimgrep /example\c/ &

\c表示不区分大小写\C表示区分大小写%是在当前缓冲区中搜索


默认情况下,可以设置ignorecase,在shell中运行

echo "set ic" >> ~/.vimrc

除了对c和ignorecase的建议外,我觉得智能箱非常有用。如果搜索包含大写字符的内容,它将进行区分大小写的搜索;如果搜索纯小写的内容,它将进行不区分大小写的搜索。您可以使用\c和\c覆盖此项:

:set ignorecase
:set smartcase
/copyright      " Case insensitive
/Copyright      " Case sensitive
/copyright\C    " Case sensitive
/Copyright\c    " Case insensitive

See:

:help /\c
:help /\C
:help 'smartcase'