我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
我想搜索一个大写的单词,例如文件中的COPYRIGHT。我尝试执行搜索,如:
/copyright/i # Doesn't work
但它不起作用。我知道,在Perl中,如果我将I标志转换为正则表达式,它将把正则表达式转换为不区分大小写的正则表达式。Vim似乎有自己的方法来指示不区分大小写的正则表达式。
当前回答
将此命令放入vimrc文件
set ic
始终执行不区分大小写的搜索
其他回答
您可以在vimrc中使用以下命令:
set ignorecase-所有搜索都不区分大小写set smartcase-如果搜索包含大写字母,则搜索将区分大小写
如果要使用smartcase提供的功能,则需要设置ignorecase。
我最近写了一篇关于Vim搜索命令(内置命令和高效搜索的最佳插件)的文章。
正如@huyz所提到的,有时需要的行为是使用不区分大小写的搜索,但使用区分大小写替换。我的解决方案是:
nnoremap / /\c
nnoremap ? ?\c
当你打/或时总是这样?它将为不区分大小写的搜索添加\c。
好的老vim[grep]命令。。
:vimgrep /example\c/ &
\c表示不区分大小写\C表示区分大小写%是在当前缓冲区中搜索
除了对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'
将此命令放入vimrc文件
set ic
始终执行不区分大小写的搜索