[vim] Vim에서 클립 보드에 복사하는 방법?

Vim에서 직접 클립 보드로 복사 할 수 있습니까? yyVim의 내부 버퍼에만 내용을 복사합니다. OS의 클립 보드에 복사하고 싶습니다. Vim에 그러한 명령이 있습니까 아니면 Vim 내에서만 물건을 yan 수 있습니까?



답변

*레지스터는이 작업을 수행 할 것입니다. Windows에서 +*동일합니다. 유닉스 간의 미묘한 차이가 존재 +하며 *:

Windows에서 * 및 + 레지스터는 동일합니다. 그러나 X11 시스템의 경우에는 다릅니다. X11 시스템의 경우 *가 선택이고 +는 클립 보드와 같은 컷 버퍼입니다.
http://vim.wikia.com/wiki/Accessing_the_system_clipboard

*아마도 당신이 원하는 대부분의 시간 일 *것입니다.

Linux 배포판에서 클립 보드 기능 을 사용하려면 먼저 vim-gtk(일명 gvim) 설치해야 합니다. 비 gtk vim은 일반적으로 X11 지원없이 컴파일되기 때문입니다. 이는 콘솔 전용 시스템 (종종 서버)에서만 실행될 수 있도록하기위한 것입니다.

그리고 king거나 넣을 때 레지스터를 사용하는 방법에 대해 혼란스러워하는 사람들 "은 레지스터 이름을 쓰면 됩니다. 따라서 클립 보드 레지스터에 무언가를 복사하려면 입력 "*y한 다음 입력하십시오 "*p(신용 : Kyle Mathews)


답변

Mac OSX에서

  • 선택한 부분 복사 : 텍스트를 시각적으로 선택하고 (유형 v또는 V일반 모드) 유형:w !pbcopy

  • 전체 파일을 복사 :%w !pbcopy

  • 클립 보드에서 붙여 넣기 :r !pbpaste

대부분의 리눅스 배포판, 당신은 대체 할 수 있습니다 :

  • pbcopy위의 xclip -i -sel c또는xsel -i -b
  • pbpastexclip -o -sel -c또는 xsel -o -b
    – 사용 : 참고 : 이 도구 ( xselxclip) 중 어느 것도 배포판에 사전 설치되어 있지 않은 경우 repos에서 해당 도구를 찾을 수 있습니다.

답변

vimrc 파일에서 복사 및 붙여 넣기에 시스템 클립 보드를 자동으로 사용하도록 지정할 수 있습니다.

Windows 세트에서 :

set clipboard=unnamed

Linux 세트 (vim 7.3.74+)에서 :

set clipboard=unnamedplus

참고 : 최신 버전의 Vim을 사용해야 할 수 있습니다.

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


답변

레지스터 "+를 사용하여 시스템 클립 보드에 복사하십시오 (예 : "+y대신 y).

마찬가지로 "+시스템 클립 보드에서 텍스트를 가져 오기 위해 붙여 넣을 수 있습니다 (예 : "+p대신 p).


답변

@Jacob Dalton은 이것을 주석으로 언급했지만 아무도 vim이 여기에 언급 된 제안을 위해 클립 보드 지원으로 컴파일되어야한다는 대답에서 언급 한 것으로 보이지 않습니다. Mac OS X에서 기본적으로 그렇게 구성되지 않았으며 vim을 다시 빌드해야했습니다. 이 명령을 사용하여 명령 유무를 확인하십시오 vim --version | grep 'clipboard'. +clipboard당신이 좋다는 것을 의미하고 여기에 제안이 당신을 위해 작동하는 반면, -clipboard당신은 vim을 다시 컴파일하고 다시 빌드해야 함 을 의미합니다.


답변

요약하고 초보자를 위해 더 쉽게,

현재 행을 복사하려면 명령 모드에서 다음을 입력하십시오.

"*yy

전체 파일 / 버퍼를 복사하려면 명령 모드에서 먼저를 통해 시작으로 이동 gg한 다음

"*yG

언급 한 바와 같이,이 필요하지 않습니다 +clipboard밖으로 vim --version, 클립 보드 지원의 가용성을 표시하는 -clipboard어떤 것을 의미한다.


답변

MAC OSX에서 vim을 사용하는 경우 불행히도 이전 버전과 함께 제공되며 클립 보드 옵션을 준수하지 않습니다. 운 좋게도, homebrew는이 문제를 쉽게 해결할 수 있습니다.

vim을 설치하십시오 :

brew install vim

vim의 GUI 버전을 설치하십시오.

brew install macvim

터미널을 다시 시작하여 적용하십시오.

~ / .vimrc에 다음 줄을 추가하십시오

set clipboard=unnamed

이제 vim으로 줄을 복사하여 yy시스템 전체에 붙여 넣을 수 있습니다.

업데이트 된 방법 :

몇 년 동안 설정된 클립 보드 방법에 만족하지 못했습니다. 가장 큰 단점은 x삭제에 사용할 때도 클립 보드 기록을 엉망으로 만드는 것 입니다. 더 좋고 더 우아한 해결책이 있습니다.

  1. vim의 텍스트 [범위]를 시스템 클립 보드에 복사하십시오. (힌트 : 사용 v또는 V제 범위를 선택하고 입력하는 결장 :전 명령을 활성화하기를)
    :[line-range]yank +

    :5,10y * (복사 / 십중팔구 라인 시스템 클립 보드 5-10 *레지스터)

  2. 시스템 클립 보드의 내용을 새 줄에 vim에 붙여 넣습니다.
    :put +

노트 :

  1. 단어 범위를 선택하면 위의 기능이 작동하지 않습니다. 이 시각적 블록을 클립 보드에 저장 하려면 “* y 또는 “+ y 를 사용하십시오. 그러나 이것은 입력하기가 어렵습니다. 나는 여전히 대안을 생각하고 있습니다.
  2. 자세한 내용 : help “* 또는 : help * +
  3. brew info vimvim 설치를위한 다른 옵션을 볼 수 있습니다. 현재로서는 다른 옵션이 없습니다.