VIM: 두 개 이상의 문자가 포함된 `t` 모션

VIM: 두 개 이상의 문자가 포함된 `t` 모션

다음과 같은 줄을 가정합니다.

grep -ir "$@" * | grep -v "/.svn/" | grep -v "/inc/help/" | head -n 100

커서가 첫 번째에 있고 |까지 삭제하고 싶다면 headt로 어떻게 할 수 있나요? v/hea까지 선택할 수 있다는 것을 알고 있지만 hea텍스트를 삭제하면 앞부분도 제거 h됩니다 head. 캐릭터를 지원 하면 되지만 h이제는 일련의 해결 방법이 있습니다. 작동하지만 더 좋은 방법이 있는지 알고 싶습니다.

t단일 문자 대신 두 개 이상의 문자에 의존 할 수 있는 방법이 있습니까 ?

답변1

이 시도:

:vnoremap / //b-1<left><left><left><left>

v지역을 시각적으로 선택하기 위해 입력한 다음 /해당 지역의 끝 검색을 시작하기 위해 입력하면 Vim은 다음을 입력합니다.

//b-1

두 번째 위에 커서를 놓고 명령줄에 입력합니다 /. 그런 다음 영역을 종료하려는 문자를 2개 이상 입력하고 Enter 키를 누릅니다. 는 b-1Vim에게 해당 패턴을 검색하고 커서를 일치 항목의 시작 부분 ( -1) 한 문자 앞에 두도록 지시합니다. b보다

:help search-offset

지도할 필요는 없습니다 /. t대신 지도나 다른 캐릭터를 사용할 수 있습니다 .

답변2

대화식으로 할 수 있다면 다음과 같이 시도해 볼 수 있습니다.easymotion 플러그인:

d;;fh-> 모든 텍스트를 회색으로 표시하고 모든 h문자를 빨간색으로 표시하지만 로 대체한 다음 두 번째 를 눌러 삭제할 a,b,c,…수 있습니다 .bh

나는 이 설명이 약간 비밀스럽다는 것을 알고 있습니다.유튜브 비디오

;Ps.: 리더 키라는 걸 깜빡했네요.

답변3

d2fh당신의 예에서 그렇게 할 것입니다.

답변4

아니요, t한 문자만 허용됩니다. 나는 할 것이다 vththd.

관련 정보