我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
当前回答
正如@huyz所提到的,有时需要的行为是使用不区分大小写的搜索,但使用区分大小写替换。我的解决方案是:
nnoremap / /\c
nnoremap ? ?\c
当你打/或时总是这样?它将为不区分大小写的搜索添加\c。
其他回答
好的老vim[grep]命令。。
:vimgrep /example\c/ &
\c表示不区分大小写\C表示区分大小写%是在当前缓冲区中搜索
默认情况下,vi中的所有搜索都区分大小写。要执行不区分大小写的搜索,请进入命令模式(按Esc键),然后键入-:设置忽略大小写您也可以键入-:将ic设置为缩写。
要切换回区分大小写模式,请键入-:set noignorecase或:set noic在命令模式下
您可以在模式中的任何位置使用\c转义序列。例如:
/\c版权所有或/copyright\c或甚至/copyri\cht
要进行反向匹配(区分大小写匹配),请改用\C(大写C)。
正如其他人所建议的:
:set ic
但最酷的是,您可以通过以下方式切换这些模式:
:set ic!
您可以在搜索之前在Vim中设置ic选项:
:set ic
要返回区分大小写的搜索,请使用:
:set noic
ic是ignorecase的简写