p가 현재 단어 다음이 아니라 현재 행 뒤에 복사 된 행을 붙여 넣은 이유는 무엇입니까?


12

다음과 같은 네 줄이 있다고 가정합니다.

line1
line2
line3
line4

지금은 가면 line1과 수행 yy의 시작으로 이동 한 후 복사하는 라인을하고 line3와 'P'를 사용하여 붙여 넣기를 할, 내가 얻을 것

...
line3
line1
line4
....

새 줄에 붙여 line1넣은 이유는 무엇 line3입니까?

내 초기는 개행 문자 $가 line3에 첨부되어 있고 pvim을 누를 때 line3$하나의 단어로 간주 되어 붙여 넣기 때문 line3$입니다. 그러나 내 이해가 잘못 된 것 같습니다. 내가 이것을 line3 $하고 p줄의 시작 부분에 a 를하면 동일한 결과를 얻을 수 있기 때문입니다.

p새 줄을 만들고 새 줄에 붙여 넣 line3습니까?

답변:


21

을 사용하여 라인을 삭제하면 라인 단위 삭제가 dd수행 됩니다.

p명령은 커서 위치 후 붙여 넣습니다. 기본 레지스터는 줄 단위 내용으로 채워 졌으므로 커서가있는 줄 뒤에 붙여 넣습니다.

대신 문자 방식 (예 :)으로 행의 내용을 삭제 0D한 경우 레지스터는 문자 방식 이므로 커서가있는 문자 뒤에 붙여 넣어집니다.

일반적으로, 삭제 / 생기 및 붙여 넣기에서 예상되는 동작을 따라야합니다. 그러나 getreg () / setreg ()를-wise 사용하여 레지스터의 강도 를 수정할 수 있습니다.

그래도 조심하십시오. 초기 예제에서 레지스터를 문자 순으로 변경해도 삭제의 일부인 개행은 제거되지 않습니다. 붙여 넣기가 발생하는 방식 만 변경됩니다.


전체 줄을 삭제하고 문자로 붙여 넣는 특정 시나리오에 대한 권장 사항은 이 게시물을 참조하십시오 .

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