전체 파일 Yank


126

나는 종종 gVim에서 무언가를 작성한 다음 다른 응용 프로그램에 복사하여 붙여 넣어야합니다.

전체 파일을 쉽게 잡아 당기는 방법이 있습니까? 나는 보통 이렇게한다

ggVG"+y

(위로 이동, 비주얼 라인 모드, 아래로 이동, 홱)

그러나 내가 놓치고있는 더 좋은 방법이 있습니까?

답변:


202

다음 지침을 사용합니다. :%y+


6
+는 무엇을합니까?
VoY 2010

5
클립 보드와 관련된 레지스터입니다. OP가 그의 질문에서 사용한 것과 같은 것입니다. => :h :y,:h registers
Luc Hermitte

5
@VoY : "+ clipboard"가 작동하려면 클립 보드 속성을 Vim으로 컴파일해야합니다. 그것은 "모든 것을 외부 클립 보드-인-어떤-윈도우-관리자"로 끌어 당기는 것을 의미합니다. 이 속성은 사실은 아니지만 gVim과 같은 사실상의 그래픽 vim과 함께 제공됩니다. 내가 틀렸다면 저를 수정하십시오 (Windows gVim에서 yank를 사용해야 할 때이 것을 알았으므로 당연히 확신 할 수는 없지만 이것이 속성이라고 믿습니다).
hhh dec

8
우분투 11.04+에서 + 레지스터가 작동하지 않으면 gVim을 설치해보십시오 (apt-get install vim-gnome). 이것은 vim의 터미널 버전에도 + clipboard 속성을 제공 할 것입니다
adharris 2011

3
예전 gg"+YG에는 그랬지만 원래 있던 대사를 잃어 버려 마음에 들지 않았습니다. 이것은 완벽 해요!
verboze

56

ggyG (첫 번째 줄로 이동, 마지막 줄로 잡아 당김)

편집 : 아, 시스템 클립 보드. 손가락을 정확하게 굴리지는 않지만 :gg"+yG


1
고마워요, % y +가 아닙니다. 그러나 원격에서 localhost에 어떻게 붙여 넣습니까? :)
발크

1
그래서 기본적으로이 명령은 문서의 맨 위로 올라가서 문서의 맨 아래로 무언가를 잡아 당기나요? "여기에 무엇입니까?
geoyws

1
@Geoyws "는 레지스터로 일하고 싶다고 말합니다. "+시스템 클립 보드에 연결된 레지스터입니다. "+yG이 레지스터에 파일의 맨 아래까지 모든 것을 잡아 당깁니다. :help "+
Annika Backstrom 2014 년

15

이전 vi의 작업 솔루션 :r filename은 새 파일에 있습니다.


5
이것이 질문에 대한 정확한 답은 아니지만 이었습니다 . 감사합니다.

2
파일 시작 부분에 붙여 넣으려면 0을 추가해야합니다.:0r filename
Stefan van den Akker 2015 년



6

다음 지침을 사용합니다 :%y..


... 창 관리자의 다른 창 위에 있지 않습니다. + 마지막에 외부 클립 보드에 홱 잡아 당깁니다 (분명히 op가하려고하는 작업)
hhh


3

또는 단순히 귀하의 .vimrc:

nmap <silent> <F5> ggVG"+y

따라서 하나의 키만 사용할 수 있습니다. :)


3

OSX에서 :

ggVG
!tee >(pbcopy)

내가 더 좋아하는 것 :

ggVG
:w !pbcopy

프롬프트가 표시되지 않으므로 " Press ENTER or type command to continue"


1

:%yneo-vim을+ 사용하는 경우 전체 시스템에 대한 작업 없이 (nvim)을 .

이렇게하면 손가락을 쭉 뻗는 것을 피할 수 +있어이 단축키가 ggyG.


0

얼마나 자주 수행하는지에 따라 키를 매핑하고 선택적으로 vimrc에 추가하십시오.

:nnoremap <F5> :%y

또는

:nnoremap <leader><whatever> :%y

또는 알고있는 키가 안전하고 가장 빠른 키를 매핑 한 다음 매핑 소스 등에 추가합니다. 이것의 장점 ggyG은 커서를 움직이지 않는다는 것입니다 (더 빠르게) 커서 위치를 유지하려면<Ctrl-o><Ctrl-o>

사람들은 vimrc가 아닌 한 명령이 세션 기반이라는 것을 종종 잊습니다. 나는 종종 내가 뭔가를 많이 할 때를 알고 있지만 기본적으로 필요하지 않고:[mode]remap <whatever> <whatever>

필요한 경우 vim을 닫았다가 다시 열 수 있습니다.

효과가 있다면 <Ctrl-A><Ctrl-C>소스에서 mswin.vim을 사용하고 증가 <Ctrl-a>및 감소 <Ctrl-x>작업 의 힘을 잃게됩니다 . 나는 Windows에서 시작했고 시간 전에 mswin.vim 사용을 중단했습니다. 나는 개인적으로 Vim을 올바른 방법으로 그록 한 다음 정말로 필요한 목발을 추가하는 것이 가장 좋다고 생각합니다.


2
Stackoverflow에 오신 것을 환영합니다. 편집기는 형식 지정을 지원 하므로 코드 예제 (예 : 사용한 명령)를 백틱 ( `) 또는 코드 블록으로 래핑하는 것이 좋습니다 .
Jan Kundrát

-1

더럽지 만 Shift 키를 전혀 사용할 필요가 없으며 더 빠를 수있는 3 개의 다른 키만 사용할 수 있습니다.

gg1111yy

(파일이 1111 줄보다 짧다고 가정)


-2

Windows에서는 종종 CTRL-A, CTRL-C를 사용하여 모든 것을 Windows 클립 보드에 복사합니다.

웹 사이트에서 표준 gvim 7.1을 사용하고 있습니다 ...

(BTW : MacVim과 그 재미있는 mac-key + A, mac-key + C가있는 Mac에서도 작동합니다)


1
windows gvim은 다른 버전에없는 몇 가지 추가 바로 가기를 추가하여 Windows 사용자에게 더 잘 맞도록합니다. ctrl + a, ctrl + c가 그 두 가지 예입니다.
davr

9
음, ctrl-c는 터미널 사용자에게 상당히 다른 의미를 가지고 있습니다.
Xiong Chiamiov

물론, Windows에서는 Windows처럼 수행하십시오. :) gvim과 MacVim은 플랫폼 표준 클립 보드 바로 가기를 존중합니다. 사용하는데도 문제가 없습니다 ....
Daren Thomas

4
이와 같은 단축키를 사용하려면 vim을 전혀 사용하지 않을 수도 있습니다.
VoY 2011

1
CTRL-A는 커서 아래의 숫자를 증가시킵니다.
Alexcp 2013-04-29
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.