我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
当前回答
Vim有2种模式
1.编辑模式
正常模式(Esc)
搜索将在正常模式下工作
/\c表示区分大小写
/\搜索
其他回答
将此命令放入vimrc文件
set ic
始终执行不区分大小写的搜索
您可以在模式中的任何位置使用\c转义序列。例如:
/\c版权所有或/copyright\c或甚至/copyri\cht
要进行反向匹配(区分大小写匹配),请改用\C(大写C)。
正如其他人所建议的:
:set ic
但最酷的是,您可以通过以下方式切换这些模式:
:set ic!
您可以在搜索之前在Vim中设置ic选项:
:set ic
要返回区分大小写的搜索,请使用:
:set noic
ic是ignorecase的简写
请注意,在表达式中放置“\c”等修饰符是有区别的:
您可以在模式中的任何位置使用\c转义序列
不管接受的答案是什么,即在正则表达式模式中放置modyfer的位置没有区别,它看起来确实很重要。
示例文本:
asdasdasdasdasd wiktor asdasdasdasd
adasdasdasd wiktor asdasda ahjkjlkhjkl
asdasd asd asdasdasdasd iuuuu -
asdjkkkkkkkaopbsdasda
wiktor ----(---------------------)--
火柴
\c ^.*A*$^\c.*A*$^.*\cA*$^.*A\c*$
将输出:
没有匹配项
^.\c*A*$^.*A?\c、*$^.*A?。\c类*$^.*A*$\c类
将输出:
vim-版本vim-Vi IMproven 8.2(2019年12月12日,2020年6月1日06:42:35)包括的补丁:1-869