vi에서 현재 위치에서 줄 끝으로 복사하는 방법


102

Windows에서 gvim을 사용합니다. vi에서 현재 위치에서 줄 끝까지 텍스트를 복사하고 vi에서 열린 다른 파일에 붙여 넣는 방법. 나는 그것을 봤지만 이것에 대한 해결책을 찾을 수 없습니다. 이것에 대한 도움을 주셔서 감사합니다. 감사합니다.

답변:


155

줄 끝으로 이동하는 정상 모드 명령은 $입니다.

로 줄 끝에 복사 y$하고로 붙여 넣을 수 있습니다 p.

서로 다른 인스턴스간에 복사 / 붙여 넣기하려면 *레지스터 를 선택하여 시스템 클립 보드를 사용 하면 명령이 "*y$복사 및 "*p붙여 넣기 용이 됩니다.

$ 줄 바꿈으로 이동

$

y$ yank-to-linebreak

y,$

"*y$ 클립 보드 등록 yank-to-linebreak 선택

", *, y,$

"*p 클립 보드 등록 붙여 넣기 선택

", *,p

:h registers자세한 정보를 확인 하십시오.


감사. 하지만 vi에서 열린 '다른 파일'에 내용을 붙여넣고 싶습니다. 이것은 동일한 파일에서만 작동합니다.
javalearner

4
동일한 인스턴스 내에서 열려있는 모든 파일에 대해 작동합니다. *(또는 +) 레지스터를 선택하여 시스템 클립 보드에 복사 할 수 있습니다 .
Don Reba

왜 시스템 레지스터 일 수 없습니다 ... 나는 컨텍스트를 복사 할 수 없습니다 file1file2. 여전히 마우스를 사용해야합니다. 그 이유는 무엇일까요?
Alston

8
저는 보통 D현재 위치에서 끝까지 잘라 내고 p원본 데이터를 붙여 넣기 (복구) 한 다음 다른 곳으로 이동하여 잡아 당긴 데이터를 붙여 넣습니다. 단순히 입력하기 Dy$.
neevek

1
@PhilipRego, y$세미콜론이 없습니다.
Don Reba

45

yank에 줄 바꿈을 포함하지 않으려면을 사용할 수 있습니다 yg_. (또는 귀하의 경우, "*yg_)

기본적으로 $g_움직임 측면 에서 차이가 있음을 인식하십시오 . 여러 번 저를 도왔습니다.


3
스왑에 어쨌든 거기에 g_$? 모션에 줄 바꿈을 포함해야하는 경우는 거의 없습니다.
Jonathan Dumaine 2013-08-19

1
예! 여분의 개행 문자가 나를 미치게 만듭니다. 이것은 필요한 정보입니다.
javadba

6
당신의 @JonathanDumaine $MYVIMRC추가 라인nmap $ g_
thedanotto

당신이 아름다운 사람 @thedanotto
조나단 DUMAINE


3

다른 솔루션 : Dp와 함께 붙여 넣습니다 p. 실제로 이것은 먼저 줄 끝까지 삭제하고 동일한 위치에 다시 붙여 넣습니다. 다른 곳에 붙여 넣으십시오 p.


1
Du가 아니라 파일을 수정하지 않은 채로 두지 않는 이유는 무엇입니까? (참고 : 여기에는 새 줄이 포함됩니다.)
유전자 19
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.