특정 줄 번호로 줄을 잡아 당기는 방법?


답변:


59

보낸 사람 :help :yank:

:[range]y[ank] [x]      Yank `[range]` lines [into register x].

따라서 4 행을 잡아 당기려면 다음과 같이 입력하십시오.

:4yank

<C-o>;를 사용 하여 삽입 모드에서 쉽게 수행 할 수 있습니다 . 이를 통해 하나의 명령을 실행 한 후 삽입 모드로 돌아갑니다. 예를 들면 다음과 같습니다.

<C-o>:4yank

물론 다른 범위를 사용할 수도 있습니다. 몇 가지 예 :

  • 1 ~ 3 행 : :1,3yank
  • 전체 버퍼 : :%yank
  • 현재 행에서 버퍼 끝까지 : :.,$:yank
  • 현재 줄과 다음 3 : :.,+3yank
  • 현재 줄과 이전 3 : :-3,.yank
  • 현재 줄 위의 3 줄 : :-3yank

범위에 대해 기억해야 할 가장 유용한 것들 :

  • 형식입니다 :line1,line2command.
  • A는 .(당신은 대부분의 경우에 점을 생략 실제로 할 수있는 현재의 라인 :.,+3yank:,+3yank동일)
  • +n및로 현재 위치를 기준으로 선을 지정합니다 -n.

자세한 내용 :help [range]은 참조하십시오.


6
<Co>를 언급하면 ​​보너스 포인트가 부족합니다.
PhilippFrank

7
그것은 당신이 생략 할 수 있음을 언급 할만큼 가치이기도 :4yank:4y
NewbieOnRails

35

Carpetsmoker의 답변 외에도 굉장 :help :m하고 :help :t.

4 행을 현재 행 바로 아래에 복사하려면 다음을 수행하십시오.

:4t.

또는 현재 행 바로 위에 해당 행을 복사하려는 경우 :

:4t-

1

: 전 모드 명령 외에 당신이있어 것을 당신이에 의해 예를 들어, 명령 모드, 또한 그것을 달성 할 수있는 4GY''수단 - : 고토 라인 4 ( 4G), 홱 당김 줄 ( Y이전 라인), 그리고 수익을 ( '').

점프 마크를 사용할 수도 있습니다. 두 번째 질문의 경우, 예를 들면 다음과 같습니다 mm3kY'm.-의미 : 마크 m ( mm) 설정 , 세 줄 위로 ( 3k), Yk 크 라인 ( ), 마크 m ( 'm)으로 돌아갑니다 .


1
전자는 같은 행과 열로 돌아 가기 때문에``를 사용하는 것이 ''보다 낫습니다. `m vs. m.
jamessan

동의한다. (특별한 의미가 있기 때문에 위키 마크 업에서 리터럴 백틱을 만드는 방법에 대한 아이디어가 있습니까?)-그렇지 않으면 귀하의 의견이 내 답변에 대한 수정 및 독자를위한 힌트로 도움이 될 것입니다.
Janis

인라인 코드를 구분하려면 여러 개의 백틱을 사용해야합니다 (cf, daringfireball.net/projects/markdown/syntax#code ). 질문 / 답변에서 작동한다는 것을 알고 있지만 내 의견으로는 작동하지 않습니다.
jamessan

1

간단히 입력

:4y

4 호선

명명되지 않은 레지스터로 이동합니다. 그런 다음 (예를 들어) p다른 곳에 놓을 수 있습니다. [n]p예를 들어 10p를 사용 하여 10 번 붙여 넣을 수도 있습니다 .

"a"와 같은 명명 된 레지스터에 넣을 수 있습니다.

:4y a

2
"ay4로 이름이 지정된 레지스터에 넣는 것에 대한 부분은 올바르게 보이지 않습니다. 그렇게하면 vim은"4 whats? "라고 말하기를 기다립니다. 예를 들어 Enter 키를 누르면 4 행부터 시작합니다. 현재 위치, / foo <Enter>를 입력하면 "foo"등의 네 번째 다음 어커런스가 발생할 때까지 정지합니다.
Don Hatch

마지막 명령은이어야합니다 4G"ayy.
romainl

0

넌 할 수있어

:10y <Enter> (to copy the line 10)
p (paste line 10 where the cursor is)

상대 번호를 설정하면 코드 줄 사이를 이동하는 데 도움이됩니다.

:set relativenumber

이제 커서 위의 다섯 번째 줄을 다음과 같이 복사 할 수 있습니다.

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