단어를 삭제하고 Vim에서 삽입 모드로 전환하는 방법은 무엇입니까?


98

일반 모드에서는 Ctrl+ E를 눌러 현재 단어의 나머지 부분을 삭제하고 삽입 모드로 이동할 수 있습니다 .

커서 위치 (물론 단어 내)에 관계없이 전체 단어를 삭제하고 싶습니다.

답변:


165

커서가있는 단어를 삭제하려면 "ciw"를 입력하여 "내부 단어 변경"을 사용할 수 있습니다.

"inner"및 "a"명령은 Vim에서 훌륭합니다. {} 블록 내에서 "ci {"를 시도하거나 {} 문자도 제거하려면 "ca {"를 시도하십시오. 이 명령을 영어로 번역하여 더 잘 기억하려면 "change inner {block"및 "change a {block"을 시도하십시오.

http://vimdoc.sourceforge.net/htmldoc/motion.html#text-objects의 문서


"caw"는 "ciw"같은 기능 대신 사용할 수 있습니다.
Amjith

'caw'와 'ciw'가 전체 단어를 대체하는 반면 'cw'는 현재 커서 위치에서 현재 단어의 끝으로 변경됩니다.
Drew Stephens

나는 jinxed_coders 코멘트에서 상기 한 것처럼 "co {"에 대해 "ca {"에 대해 말하는 것에서 대답을 편집했습니다. 내 이전 사용자 정의는 "(a) <>"명령을 "(o) uter <>"명령으로 구현합니다.
Kaali

19
ciwcaw정확하게 동일하지 않습니다는 : ciw그냥 단어를 삭제 caw아니라 후행 공백을 삭제합니다.
Roberto Bonvallet

5
: 이러한 종류의 선택에 대해 자세히 알아 보려면 vim의 객체 를 참조하십시오.
Aaron

19

후속 질문에 대한 답변 : viwp

v    -> start visual mode
iw   -> select the 'inner word'
p    -> paste - in visual mode it replaces the visually selected text.

3
이 일을 연속으로 여러 번 수행하는 방법은 무엇입니까? 붙여 넣을 때마다 붙여 넣은 단어로 버퍼가 채워집니다.
Ben Gartner

1
@BenGartner Vim Tips wiki 에서 찾았 yiw습니다. 현재 단어를 복사하는 데 사용 하고 바꿀 단어에 커서를 놓고 ciw<C-r>0. 그런 다음 커서를 다음 단어에 놓고를 사용 .하여 대체를 다시 실행할 수 있습니다.
siegi

@BenGartner WORD_A의 모든 인스턴스를 WORD_B로 바꾸는 것뿐이라면 단순히 vim의 ex 모드 인 :%s/a/b/g. a정확한 텍스트 또는 정규식 일 수 있으며 b모든 일치 항목을 대체 할 것 a입니다. vim의 /모드로 정규식을 테스트 할 수 있습니다 . 대체 %당신은 모든 라인에 대체하지 않으려면 행 번호 또는 범위.
Braden Best

8

두 번째 질문 : bPldw

이것은 순서대로 현재 단어의 시작 부분으로 이동하고, 커서 앞에 기본 레지스터를 삽입하고, 다음 문자로 이동 (방금 삽입 한 텍스트의 끝을지나 감)하고 나머지는 삭제합니다. 단어.


5
이것은 또한 단어 뒤의 공백을 삭제합니다. 이어야 bPlde합니다.
0x89

10
아니오,해야합니다viwp
aehlke

3

첫 번째 질문 bcw도 작업하십시오. 그것은 " b단어의 시작에 대한 ack, change word"를 의미합니다. 하지만 내가 생각 ciw하는 수단 "더 기억에 남는 change의 inner의 wORD"단지 하나의 단계.

"붙여 넣기를 사용하여 교체"에 대한 두 번째 질문의 경우 내 솔루션은 "_diwP입니다. 그것은 delete inner wORD에 당신은 상관하지 않으며 등록 p기본 레지스터의 내용을 ASTE. 장점은 오염되지 않기 때문에 기본 레지스터를 여러 번 붙여 넣을 수 있다는 것입니다. 그것은 litte complex이므로 nnoremap ,r "_diwP.


2

또는 키 시퀀스 bdwi를 사용하여 현재 단어를 삭제하고 INSERT 모드로 이동할 수 있습니다.


1
를 사용 bcw하여 현재 단어의 시작 부분으로 이동 한 다음 단어를 변경하면 삽입 모드가 종료됩니다.
Hank Gay

커서가 이미 단어의 첫 번째 문자에 있으면 이전 단어가 삭제됩니다.
Warren Pena

3
@WarrenPena이 경우 dwi. DWI는 대부분의 주에서 불법이므로 경찰이 알아 차리지 못하도록주의하십시오.
Braden Best
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.