Answers:
您可以\c
在模式中的任何位置使用转义序列。例如:
/\ccopyright
或者/copyright\c
甚至/copyri\cght
要进行逆运算(区分大小写的匹配),请改用\C
(大写字母C)。
set ignorecase
在vimrc中添加不区分大小写的搜索,并且可以使用\C
类似于@AlokSinghal提到的区分大小写的搜索。
set smartcase
如果您使用大写字母,还可以自动切换到区分大小写的搜索。
\c
而\C
以及您的建议\c
和ignorecase
,我觉得smartcase
非常有用。如果您搜索包含大写字符的内容,则会进行区分大小写的搜索;如果您搜索的内容完全是小写字母,它将执行不区分大小写的搜索。您可以使用\c
和\C
覆盖它:
:set ignorecase
:set smartcase
/copyright " Case insensitive
/Copyright " Case sensitive
/copyright\C " Case sensitive
/Copyright\c " Case insensitive
看到:
:help /\c
:help /\C
:help 'smartcase'
ignorecase
在于它影响替换和搜索。我发现进行(智能)不区分大小写的搜索是有意义的,但是默认情况下进行区分大小写的替换。但是我无法做到这一点。
smartcase
要工作,您还需要set ignorecase
。很好的提示,谢谢!
:%s/lowercasesearch\C/replaceString/g
。这不会创建您想要的默认功能,但确实允许您强制区分大小写以进行替换,同时仍然在搜索时受益于smartcase。
After "*" and "#" you can make 'smartcase' used by doing a "/" command, recalling the search pattern from history and hitting <Enter>.
您可以ic
在搜索前在Vim中设置选项:
:set ic
要返回区分大小写的搜索,请使用:
:set noic
ic
是的简写 ignorecase
\c
在vi中不起作用。
要在区分大小写的搜索和不区分大小写的搜索之间切换,请在.vimrc中使用此映射
nmap <F9> :set ignorecase! ignorecase?
ignorecase?
向您显示该标志的当前状态。(在命令行中)
您可以在vimrc
这些命令中使用:
set ignorecase
-您所有的搜索均不区分大小写set smartcase
-如果搜索包含大写字母,将区分大小写ignorecase
如果要使用smartcase
提供的内容,则需要进行设置。
我最近写了一篇关于Vim搜索命令的文章(既有内置命令又有最好的插件来有效搜索)。
set smartcase
如果我不使用大写字母,似乎不会执行不区分大小写的搜索...这正常吗?
将此命令放在vimrc文件中
set ic
始终执行不区分大小写的搜索
set noic
。
正如@huyz所提到的,有时所需的行为是使用不区分大小写的搜索,但使用区分大小写的替换。我的解决方案:
nnoremap / /\c
nnoremap ? ?\c
总是这样,当您点击/
或时?
,它将添加\c
为不区分大小写的搜索。
smartcase
选项吗?
smartcase
\c
可以出现在模式中的任何位置,因此,如果您键入一个模式然后决定要进行不区分大小写的搜索,则只需\c
在末尾添加一个即可。