![한 줄을 vi의 버퍼에 있는 줄로 바꿉니다.](https://rvso.com/image/23934/%ED%95%9C%20%EC%A4%84%EC%9D%84%20vi%EC%9D%98%20%EB%B2%84%ED%8D%BC%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%A4%84%EB%A1%9C%20%EB%B0%94%EA%BF%89%EB%8B%88%EB%8B%A4..png)
또는 붙여넣기 버퍼에 한 줄을 복사합니다 cc
. dd
그런 다음 새로운 장소로 이동합니다.
내가 본 라인을 바꾸고 싶습니다. 그래서 나는 p
Down dd
.
더 쉬운 방법(더 적은 키 입력)이 있습니까?
답변1
V
입력 하여 선을 선택한 다음 p
바꿀 수 있습니다.
답변2
이를 수행하는 또 다른 방법은 다음과 같습니다."_ddp
"_dd
널 버퍼에 대한 현재 행을 삭제합니다. 이것은 방금 복사한 내용을 덮어쓰지 않으며 많은 경우 도움이 되었습니다! p
이전에 복사한 줄을 붙여넣습니다 .
키 입력 측면에서 더 짧지는 않지만 이것이 옵션이라는 것을 아는 것은 매우 도움이 될 수 있습니다!
답변3
Angus와 Thor가 짧은 답변을 다루었으므로 여기에 몇 가지 보너스 탐구가 있습니다.
어떤 이유로 붙여넣기 전에 삭제하려는 경우 번호가 매겨진 레지스터를 활용할 수 있습니다. 레지스터 "0
에는 마지막 y
또는 에 의해 끌어온 텍스트가 포함되어 있지만 Y
삭제되지는 않습니다. "1
통과 레지스터는 "9
사용자가 수행한 마지막 9개의 삭제/잘라내기를 저장합니다. 그래서:
- 으로 잡아당기면
yy
로 바꿀 수 있습니다dd"0P
. dd
또는 으로 자르면cc
으로 바꿀 수 있습니다dd"2P
. ( 채우기dd"1P
때문이 아닙니다 .)dd
"1
:help "0
더 자세한 정보를 확인해 보세요 .
답변4
당신이 할 수 있는 것보다 라인 1을 3으로 바꾸고 싶다고 가정하십시오.:1m3|2d
이렇게 하면 라인 1이 라인 3으로 효과적으로 이동하고 라인 2(예: 이전 라인 3)가 제거됩니다.