Vim : “f”및 “t”모션 명령에서 대소 문자 무시 ignorecase명령은 vim

Vim :set ignorecase명령은 vim 구성의 “f”및 “t”모션 명령에 영향을 미치지 않습니다.

이 명령이 대소 문자를 무시하게 만드는 옵션이나 해킹이 있습니까?



답변

나는 다음과 같은 것을 제안 할 것이다 :

function! ForwardLookup()
    " get next key pressed
    let c = nr2char(getchar())
    let old_search_pattern = @/
    " Use of \V enables very-nonmagic pattern
    exec 'normal /\c\V' . escape(c, '\/') . nr2char(0x0d)
    let @/ = old_search_pattern
endfunction
nnoremap f :call ForwardLookup()<CR>


답변

이것의 기본 버전은 실제로 getchar()함수 를 사용하는 방법의 예로써 참조 매뉴얼에 있습니다 :

이 예제는 대소 문자를 무시하기 위해 “f”를 재정의합니다.

:nmap f :call FindChar()<CR>
:function FindChar()
:  let c = nr2char(getchar())
:  while col('.') < col('$') - 1
:    normal l
:    if getline('.')[col('.') - 1] ==? c
:      break
:    endif
:  endwhile
:endfunction

참조하십시오 :help getchar().

반환 된 문자를 저장하고 비슷한 맵을 ;작성 v:count1해야 작동하고 카운트로 작업 하려면 처리 할 코드를 작성 해야합니다.


답변