[vim] VIM에서 커서 뒤 또는 주변의 단어 삭제

이제 VIMTextMate에서 전환 중 입니다. ^+WINSERT 모드에서 매우 유용하다는 것을 알았 습니다. 그러나 커서 앞의 단어뿐만 아니라 커서 뒤 또는 주위의 단어도 삭제하고 싶습니다.

인터넷 검색을했지만 ^+W커서를 찾기 전에 단어를 삭제하는 것이 유일한 방법이었습니다 .



답변

당신이해야 할 일은 일련의 명령에 특정 키의 imap을 만드는 것입니다.이 경우 명령은 일반 모드로 떨어지고 현재 단어를 삭제 한 다음 다시 삽입합니다.

:imap <C-d> <C-[>diwi


답변

일반 모드 :

daw : delete the word under the cursor
caw : delete the word under the cursor and put you in insert mode


답변

난 그냥 생각 daw

daw - delete a word


답변

아래는 일반 모드에서 작동합니다. Dan Olson의 대답에 동의합니다. 대부분의 삭제에서 아마도 일반 모드에 있어야합니다. 자세한 내용은 아래를 참조하십시오.

커서가 단어 안에있는 경우 : 단어
diw에서 삭제하려면 (공백 제외)
daw단어 주위를 삭제하려면 (다음 단어 앞에 공백 포함)

커서가 단어의 시작 부분에 있으면을 누릅니다 dw.

예를 들어 2w를 앞으로 이동하기 위해 2w와 같이 일반적인 이동 숫자를 추가하여 곱할 수 있으므로 d2w는 두 단어를 삭제합니다.

삽입 모드 ^ w
Vim에서 움직임에 hjkl을 사용하는 아이디어는 집에 손을 대는 것이 더 생산적이라는 것입니다. 단어의 끝에 ^ w는 단어를 빠르게 삭제하는 데 효과적입니다. 삽입 모드로 들어가면 텍스트를 입력하고 화살표 키를 사용하여 홈 행 철학에 어긋나는 단어 중간에 끝납니다.
당신은 일반 모드에있어 단어를 변경하려면 간단히 사용할 수 있습니다 c보다는 (변경)을 d원하는 경우 완전히 단어를 변경하고, 언론에하지 않고 모드를 삽입 다시 입력 (삭제) i다시 얻을 수 타이핑하기.


답변

당신은 좋아합니까?

dw


답변

일반 모드에서 두 공백 사이의 모든 문자 를 삭제하려면

daW

한 단어 만 삭제하려면

daw


답변

삽입 모드에서 내장 방법을 사용 하는 것처럼 보이지는 않습니다 . 다른 답변 중 일부는 일반 모드에 적합하며 삽입 모드에서 기능을 추가하기 위해 사용자 지정 매핑을 만들 수 있다고 지적합니다.

솔직히 대부분의 삭제 작업은 보통 모드에서 수행해야합니다. ^ W는 알 필요가 없지만 정상 모드로 들어가서 더 강력한 삭제 명령을 내릴 수있는 esc보다 상황을 생각할 수 있는지 확실하지 않습니다.

Vim은 이런 식으로 다른 많은 편집기 (TextMate 포함)와 매우 다릅니다. 생산적으로 사용하는 경우 인서트 모드에서 많은 시간을 소비하지 않을 것입니다.