다른 기존 답변은 모두 vim의 정의 및 블록 탐지에 따라 다릅니다. 이러한 종류의 삭제에 대한 나의 전략은 c
명령을 f
모션 및 실제 캐릭터와 결합 하여 멈추는 것입니다. 그러면 실제로 정지 문자가 삭제되지만 마지막으로 누른 키이므로 두 번 반복하면 비용이 거의 들지 않으며 c
삽입 모드로 변경 되므로 다시 삽입됩니다.
예를 들어 설명하면
func1(x|, func2(), y);
명령 c2f))
은 줄 것이다
func1(x)|;
처음에는 다른 답변보다 덜 우아해 보이지만이 전략은 보편적 이며 블록 정의에 의존하지 않습니다.
예를 들어
<div| class="some-class">text</div>
명령 cf>>
은 줄 것이다
<div>|text</div>
또는 CSV 파일을 편집 할 때
2016-11-29,question,vi|.stackexchange.com,10435
명령 cf,,
은 줄 것이다
2016-11-29,question,vi,|10435
종종 이것을 사용하여 나머지 문자열을 삭제합니다.
printf("Hello world| - a boring example\n");
에
printf("Hello world\|n");
와 cf\\
또는
print("Hello world| - a boring example");
에
print("Hello world"|);
로 cf""
.
이렇게하면 현재 위치가 요청한 것과 약간 다른 위치로 변경되고 삽입 모드로 변경됩니다. 그러나 나머지 모든 것을 삭제하기위한 솔루션을 공유하고 싶었습니다.
C);
이 특별한 경우에 아마 할 것입니다 .