커서 아래에서 한 단어를 바꾸는 방법?


144

Vim에서 커서 아래에있는 단어를 바꾸려면 어떻게해야합니까?

따라서 단어 를 사용한 dw다음 i단어 를 사용하는 대신 Esc커서 아래의 단어를 대체하는 더 간단한 조합이 있습니까?

답변:


251
ciw

(내부 단어 변경) 커서 아래의 전체 단어 를 변경합니다 . 와 비교

cw

현재 커서 위치 에서만 단어를 변경합니다 . 자세한 내용은 질문 / 답변을 참조하십시오 .


단어에 점이나 슬래시가 포함 된 경우 상황을 처리하는 방법 (예 : /usr/bin/bash또는 1222.333)? vim 이 단어의 끝으로 해석 /하고 .전체 문자열을 선택하지 않는 것처럼 보입니다 .
Alexander Cska

85

나는 종종 한 단어를 다른 단어에서 다른 단어로 바꾸고 싶어한다는 것을 알게된다. 다른 솔루션과 문제는 당신이 단어를 변경하려고하면, 다음 다음 붙여 넣기 것입니다 당신이 삭제 된 것을 그 단어cw .

다음을 시도하십시오 :

1 "This first word should overwrite the second"

yiw     yank inner word (copy word under cursor, say "first").
...     Move the cursor to another word (say "second").
viwp    select "second", then replace it with "first". 

그것이 당신이 찾고있는 희망입니다.


7
교체가 필요한 경우에만 잘 작동합니다 once. second' by 처음 몇 개를 교체 해야하는 경우 (예에서) 복사 된 단어는 second첫 번째 교체 후에 나타납니다.
ViFI

32

ciw

c   change
iw  inner word

커서 아래의 단어가 삭제되고 (커서가 단어의 중간에 있더라도) 삽입 모드로 들어갑니다.


Vim의 문서를 참조하십시오 :

:help c
:help text-objects

17

이전에 구부러진 단어로 단어를 바꾸려면 다른 해결책이 있습니다 viwp(한 번 첫 단어를 구부린 경우).

ciw이전 단어를 제거하고 원래 위치의 삽입 모드로 전환합니다. 그러나 ctrl+r, 0레지스터 0의 내용을 삽입하는 데 사용할 수 있습니다 (이전에 구부러진 단어를 포함 함).

그래서:

yiw
[move to next word]
ciw
ctrl+r
0

이 방법은 viwp첫 사용 후을 반복적으로 교체 할 수 있기 때문에 보다 효과적 입니다 .. 또한 시각적 모드로 전환하지 않고 간단히 강조 표시합니다.


1
그것이 모드를 변경하지 않는다는 것을 확실하지 않으면 반대의 경우 인 것처럼 보이지만 삽입 모드를 유지하기를 원할 수도 있습니다. 그러나 큰 장점은 (와 반대로 viwp) 단 하나의 king 킹으로 여러 번 수행 할 수 있다는 것입니다. 감사!
Palo

아 맞아, 나는 편집 모드로 가시 모드로 갈 생각했다. 나는 그것이 한계라는 것을 몰랐다 . viwp심지어 .그것을 복제하지도 않았다.
Connor

3
이것은 대체 단어를 이미 yan 때 가장 좋은 해결책입니다.
mljrg

1
이것이 답입니다! .이것과 함께 사용 하는 능력 은 훌륭합니다!
izzy

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