vim에서 대소 문자를 구분하여 :substitute(...)
을 사용하고 싶지만 그렇게하지 마십시오.어떻게해야합니까?()를 vim의 대소 문자 구분 플래그로 대체 하시겠습니까?
let s:Var = 'foo BAR baz'
나는 물론 가 명시 적으로 다음 줄 BAR
그렇게 그 noic
을 설정할 수 있습니다 여기에
set noic
let s:S1 = substitute(s:Var, 'bar', '___', '')
" print foo BAR baz
echo s:S1
역으로, ic
이 설정되면 BAR
은 물론 대체 될 것입니다 :
set ic
let s:S2 = substitute(s:Var, 'bar', '___', '')
" print foo ___ baz
echo s:S2
지금, 나는 그것을 senstitive 케이스 만들기 위해 :substitute
의 I
플래그를 사용할 수 있습니다 생각하지만,이 경우 될 것 같지 않습니다
let s:S3 = substitute(s:Var, 'bar', '___', 'I')
" print foo ___ baz
" instead of the expected foo BAR baz
echo s:S3
I
플래그에 대한 도움말 읽기 :
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used.
{not in Vi}
이 행을 이해하면 BAR을 대체해서는 안됩니다.
감사를 설명. 나는 플래그가': s'와': substitute()'사이에서 전송 가능하다고 잘못 가정했다. –