VIM 大小写匹配
1. 大小写匹配
测试文本:
xnoremap * :<C-u>call <SID>VSetSearch('/')<CR>/<C-R>=@/<CR><CR>
xnoremap # :<C-u>call <SID>VSetSearch('?')<CR>?<C-R>=@/<CR><CR>
function! s:VSetSearch(cmdtype)
let temp = @s
norm! gv"sy
let @/ = '\V' . substitute(escape(@s, a:cmdtype.'\'), '\n', '\\n', 'g')
let @s = temp
endfunction
- \c 为忽略大小写
查找字段 和关键字 不分开
/\cvsetsearch
/vsetsearch\c
- \C 强制大小写
/\CVSetSearch
/VSetSearch\C
表12-1 调整查找模式的大小写敏感性
模式 | ‘ignorecase’ | ‘smartcase’ | 匹配 |
---|---|---|---|
foo | off | - | foo |
foo | on | - | foo Foo FOO |
foo | on | on | foo Foo FOO |
Foo | on | on | Foo |
Foo | on | off | foo Foo FOO |
\cfoo | - | - | foo Foo FOO |
foo\C | - | - | foo |