커서를 움직이지 않고 vim에서 특정 줄을 꺼내는 방법은 무엇입니까?

커서를 움직이지 않고 vim에서 특정 줄을 꺼내는 방법은 무엇입니까?

예를 들어

대체 텍스트

4행만 복사하여 12행에 붙여넣는 방법커서를 움직일 필요가 없습니다4호선으로?

대체 텍스트

답변1

커서가 이미 12번째 라인에 있다면, 간단한

:4 년

나를 위해 만들어졌습니다.

답변2

어떻습니까? 커서는 11번째 줄에 있고 현재 "vi" 모드에 있습니다.

:4co.<return>

물론 패턴을 사용하여 이 작업을 수행할 수도 있습니다.

:/^Yank/co.<return>

끌어서 배치하는 대신 "co"(복사) 대신 "mo"(이동)를 사용하여 행을 이동할 수 있습니다.

답변3

이 시도:

:4,4y  
P

답변4

다른 사람들은 이미 가장 간단한 접근 방식인 을 언급했지만 :4y유용할 수 있는 두 가지 참고 사항을 추가하고 싶습니다.

먼저, 입력을 하면 :help range범위를 사용하여 Ex 스타일 명령에 적용하는 방법에 대해 모두 배우게 됩니다. 많은 상황에서 매우 유용하며 줄 번호를 사용하는 것보다 더 다양합니다. 예 를 들어 문서가 시작된 후 "yank"로 시작하는 첫 번째 줄을 추출하려면(첫 번째 줄에 있더라도) 를 사용하세요 :0/^yank/y. 범위의 가장 강력한 부분은 이를 결합하는 기능입니다. :./^Chapter/+50?Pete?d, "다음 A 줄 찾기는 Chapter라는 단어로 시작합니다(현재 줄에서 앞으로 검색). 그런 다음 50줄 앞으로 이동하고 Pete라는 단어를 뒤로 검색하고 찾은 첫 번째 줄을 삭제합니다." 커서, 지시사항을 따르세요.

(나는 이러한 유형의 범위 지정을 사용하여 커서 아래의 함수 이름을 검색한 다음 "설명"의 다음 줄을 검색하고 이를 특정 레지스터로 가져오는 등의 지루한 문서 작성을 자동화합니다.)

또 다른 팁은 점프에 대해 알아야 한다는 것입니다. 완전히 이해하기 위해 입력 :help jump-motions하지만 여기서 관련되는 방식은 4행으로 점프하여 빼낸 다음 RETURN을 사용할 수 있다는 것입니다 4Gyy''(또는 아포스트로피 대신 백틱을 사용하여 대신 정확한 시작 위치로 점프할 수 있음). 당신은 )로 시작했습니다.

관련 정보