我想搜索大写单词,例如文件中的COPYRIGHT . 我尝试过执行搜索:
/copyright/i # Doesn't work
但它不起作用 . 我知道在Perl中,如果我将 i 标志放入正则表达式,它会将正则表达式转换为不区分大小写的正则表达式 . 似乎Vim有自己的方式来表示不区分大小写的正则表达式 .
i
您可以发出命令
:set ignorecase
之后,您的搜索将不区分大小写 .
要在区分大小写和不区分大小写的搜索之间切换,我在.vimrc中使用此映射
nmap <F9> :set ignorecase! ignorecase?
将此命令放在vimrc文件中
set ic
总是做不区分大小写的搜索
正如其他人所说:
:set ic
但很酷的东西是你可以切换这样的模式:
:set ic!
:vimgrep /example\c/ &
\ c表示不区分大小写
\ C表示区分大小写
%是在当前缓冲区中搜索
您需要使用 \c 转义序列 . 所以:
\c
/\ccopyright
要进行反向(区分大小写的匹配),请改用 \C .
\C
除了对 \c 和 ignorecase 的建议外,我发现 smartcase 非常有用 . 如果搜索包含大写字符的内容,它将执行区分大小写的搜索;如果你搜索纯粹小写的东西,它会做一个不区分大小写的搜索 . 您可以使用 \c 和 \C 来覆盖此:
ignorecase
smartcase
:set ignorecase :set smartcase /copyright " Case insensitive /Copyright " Case sensitive /copyright\C " Case sensitive /Copyright\c " Case insensitive
看到:
:help /\c :help /\C :help 'smartcase'
您可以在搜索之前在Vim中设置 ic 选项:
ic
要返回区分大小写的搜索,请使用:
:set noic
ic 是 ignorecase 的简写
您可以在 vimrc 中使用这些命令:
vimrc
set ignorecase - 您的所有搜索都不区分大小写
set ignorecase
set smartcase - 如果搜索包含大写字母,则搜索将区分大小写
set smartcase
如果要使用 smartcase 提供的内容,则需要设置 ignorecase .
我最近写了an article about Vim search commands(内置命令和最好的插件来高效搜索) .
我更喜欢在搜索字符串的末尾使用 \c :
/copyright\c
正如@huyz提到的,有时候期望的行为是使用不区分大小写的搜索,但是区分大小写的替换 . 我的解决方案:
nnoremap / /\c nnoremap ? ?\c
总是当你点击 / 或 ? 时,它会添加 \c 以进行不区分大小写的搜索 .
/
?
Vim有2种模式
1.edit模式
搜索将适用于普通模式
/\c 区分大小写
/\csearch
您可以默认设置 ignorecase ,在shell中运行它
echo "set ic" >> ~/.vimrc
13 回答
您可以发出命令
之后,您的搜索将不区分大小写 .
要在区分大小写和不区分大小写的搜索之间切换,我在.vimrc中使用此映射
nmap <F9> :set ignorecase! ignorecase?
将此命令放在vimrc文件中
总是做不区分大小写的搜索
正如其他人所说:
但很酷的东西是你可以切换这样的模式:
好老的vim [grep]命令..
\ c表示不区分大小写
\ C表示区分大小写
%是在当前缓冲区中搜索
您需要使用
\c
转义序列 . 所以:/\ccopyright
要进行反向(区分大小写的匹配),请改用
\C
.除了对
\c
和ignorecase
的建议外,我发现smartcase
非常有用 . 如果搜索包含大写字符的内容,它将执行区分大小写的搜索;如果你搜索纯粹小写的东西,它会做一个不区分大小写的搜索 . 您可以使用\c
和\C
来覆盖此:看到:
您可以在搜索之前在Vim中设置
ic
选项:要返回区分大小写的搜索,请使用:
ic
是ignorecase
的简写您可以在
vimrc
中使用这些命令:set ignorecase
- 您的所有搜索都不区分大小写set smartcase
- 如果搜索包含大写字母,则搜索将区分大小写如果要使用
smartcase
提供的内容,则需要设置ignorecase
.我最近写了an article about Vim search commands(内置命令和最好的插件来高效搜索) .
我更喜欢在搜索字符串的末尾使用
\c
:正如@huyz提到的,有时候期望的行为是使用不区分大小写的搜索,但是区分大小写的替换 . 我的解决方案:
总是当你点击
/
或?
时,它会添加\c
以进行不区分大小写的搜索 .Vim有2种模式
1.edit模式
搜索将适用于普通模式
/\c 区分大小写
/\csearch
您可以默认设置
ignorecase
,在shell中运行它