Vim : "f"및 "t"모션 명령에서 대소 문자 무시


답변:


1

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

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>

1
충분히 강하지 않음 : 숫자 접두사를 지원하지 않고 줄 바꿈을 수행하며 시각적 모드를 지원하지 않습니다.
Bogdan Gusiev 2016 년

이것은 또한 반복 f 명령을 지원하지 않습니다;
Thomson

0

이것의 기본 버전은 실제로 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해야 작동하고 카운트로 작업 하려면 처리 할 코드를 작성 해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.