레지스터에 여러 줄을 넣을 수 있습니까? 단일 레지스터에서 여러 줄을 잡아

vim의 단일 레지스터에서 여러 줄을 잡아 당기고 문서에 다른 텍스트 템플릿을 쉽게 붙여 넣을 수 있습니다.

예를 들어, “iyy는 현재 줄만 표시합니다. 비주얼 모드에서 여러 줄을 선택하려고하면 레지스터에 기록되지 않습니다.

어떤 제안?



답변

3Y3 줄을 기본 레지스터에 넣을 때 사용 합니다. "i3Y레지스터에 들어가기 위해 i.

또한, 내가 가장 좋아하는 방법은 내가 잡아 당기고 싶은 줄을 세는 것이 아니라 V명령을 통해 이동 모드에서 시각적 모드로 선택한 다음 키를 y눌러 잡아 당기거나 "_y레지스터로 잡아 당기는 것 입니다.

또한 Visual Line 모드에서 여러 줄을 선택하고 기본이 아닌 레지스터로 들어 가려고 시도 Vjjj"oy했습니다.


답변

파일의 어느 곳에서나 다음을 사용할 수 있습니다.

:2,5y a

양크 라인 2-5.

:7pu a

7 줄 아래에 등록을 붙여 넣습니다.


답변

m버퍼 이름으로 시작을 표시하는 데 사용 합니다 (그래서 입력 할 수 있음 mx). 복사를 중지하려는 위치로 커서를 이동하고 입력하십시오 y'x(또는 d'x잘라내어 붙여 넣기하는 경우). 그런 다음를 붙여 넣을 지점으로 이동하고을 입력 p합니다.

Vim 명령 치트 시트


답변

몇 줄의 명령을 수행 할 것인지 명령 앞에 숫자를 붙입니다. ‘text-object'(블록의 경우 ‘]’, 단락의 경우 ‘)’)를 사용할 수도 있습니다. 상황에 따라 여러 줄에서 작동합니다. 기본값은 종종 한 줄입니다. 예를 들어, "r5yy커서에서 시작하여 5 개의 행을 ‘r’레지스터에 넣습니다. 또는 :.,+4y rex 모드에서 같은 작업을 입력 할 수도 있습니다. 숫자를 텍스트 개체와 결합 할 수도 있습니다. "r10y).


답변

마지막 검색 발생시 여러 줄을 k 수 있습니다.

예를 들어, 다음과 같은 여러 줄 의 욕심없는 패턴이 주어집니다 .

/start\_.\{-}end/norm gn"iy

그런 다음 레지스터에로 표시된 여러 줄 패턴 ( start과 사이 end)이 @i인쇄됩니다 (로 인쇄 echo @i).

관련 : 어떻게 여러 줄 일치를 인쇄하려면? Vi에서


답변