선행 공백을 포함하지 않는 "와 유사한 동작이 있습니까?


10

a"vim에서 모션을 자주 사용하고 있습니다 . 예를 들어 ca"하드 코드 된 인수를 변수 이름으로 대체하기 위해 코드를 리팩토링하는 동안 사용 . 이 접근법의 문제점 a" 은 후행 공백이없는 경우 선행 공백포함 한다는 것입니다 .

후행 공백은 포함되지 않으면 선행 공백이 포함됩니다.

따라서 다음과 같이 함수 호출을 편집하면

aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3)    #refactored

공백 replacedArgca"삭제 하기 전에 수동으로 공백을 다시 삽입해야 합니다.

이 공백을 포함하지 않는 유사한 동작이 ca"있습니까? 아니면 다른 공백을 입력하지 않아도되는 대신 사용할 수있는 다른 것이 있습니까?

노트:

  • cf"문자열에 이스케이프 된 따옴표가 포함되어 있지 않으면 원하는 것을 수행하지만 문자열의 시작 부분에 커서가 있어야합니다. 문자열의 어느 곳에서나 사용할 수있는 것을 원 ?"<Enter>cf"하고 입력하기가 다소 어렵습니다.
  • 단일 <Space>키 스트로크에 관한 것이 아니라 처음에 공백을 포함하는 것을 잊어 버려서 적어도 4 번의 추가 키 스트로크 ( bi<Space><Esc>)를 소비하고 내 초점을 어기 는 사실에 관한 것입니다. 따라서 교체 명령의 길이는 주어진 문자 사이의 텍스트 만 삭제 한 다음 삽입 모드로 들어가는 한 중요하지 않습니다.

1
?"<Enter>따옴표를 사용하여 줄을 뒤로 검색 하는 대신을 사용할 수 있습니다 F". 왼쪽 F과 동일 f하지만 검색합니다. 아래의 답변은 귀하의 질문에 더 잘 보이지만 F자체적으로 유용한 명령입니다.
Lithis

답변:



10

Wellle의 targets.vim 플러그인에 있습니다. 관련 부분을 인용하려면 ( " 인용문 " 섹션 내부 ) :

a' a" a

  • 견적을 선택하십시오.

  • 이것은 탐색을 지원하기 위해 Vim의 기본 텍스트 객체를 무시합니다.

  • Vim의 따옴표 텍스트 객체와 달리 여기에는 주변 공백이 포함되지 않습니다 .


그것은이 플러그인 재정의 모양 a"과 용도 A"원래의 행동?
Martin Tournoij

... 또한 "왼쪽으로"탐색을 허용하는 동안
VanLaser

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