a"
vim에서 모션을 자주 사용하고 있습니다 . 예를 들어 ca"
하드 코드 된 인수를 변수 이름으로 대체하기 위해 코드를 리팩토링하는 동안 사용 . 이 접근법의 문제점 a"
은 후행 공백이없는 경우 선행 공백 을 포함 한다는 것입니다 .
후행 공백은 포함되지 않으면 선행 공백이 포함됩니다.
따라서 다음과 같이 함수 호출을 편집하면
aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3) #refactored
공백 replacedArg
을 ca"
삭제 하기 전에 수동으로 공백을 다시 삽입해야 합니다.
이 공백을 포함하지 않는 유사한 동작이 ca"
있습니까? 아니면 다른 공백을 입력하지 않아도되는 대신 사용할 수있는 다른 것이 있습니까?
노트:
cf"
문자열에 이스케이프 된 따옴표가 포함되어 있지 않으면 원하는 것을 수행하지만 문자열의 시작 부분에 커서가 있어야합니다. 문자열의 어느 곳에서나 사용할 수있는 것을 원?"<Enter>cf"
하고 입력하기가 다소 어렵습니다.- 단일
<Space>
키 스트로크에 관한 것이 아니라 처음에 공백을 포함하는 것을 잊어 버려서 적어도 4 번의 추가 키 스트로크 (bi<Space><Esc>
)를 소비하고 내 초점을 어기 는 사실에 관한 것입니다. 따라서 교체 명령의 길이는 주어진 문자 사이의 텍스트 만 삭제 한 다음 삽입 모드로 들어가는 한 중요하지 않습니다.
?"<Enter>
따옴표를 사용하여 줄을 뒤로 검색 하는 대신을 사용할 수 있습니다F"
. 왼쪽F
과 동일f
하지만 검색합니다. 아래의 답변은 귀하의 질문에 더 잘 보이지만F
자체적으로 유용한 명령입니다.