Vim에서 선택한 줄을 클립 보드에 복사하는 방법


답변:


105

SHIFTV라인 선택 모드로 전환됩니다. 그런 다음 "*y현재 선택된 라인을 *클립 보드 인 레지스터에 끌어다 놓습니다 . 있다 꽤 많은 다른 목적을 위해 서로 다른 레지스터. Windows와 Linux에서 및 레지스터 selection and drop registers의 차이점 에 대한 자세한 내용은 섹션을 참조하십시오 .*+


10
Linux에서 +는 전역 클립 보드, *는 선택 클립 보드, Windows에서는 둘 다 전역 클립 보드에 매핑됩니다.
Mohnish

74

Linux를 사용 중이고 VIm 버전 7.3.74 이상을 사용하는 경우 (Ubuntu 11.10 이상에 설치된 버전이이를 충족 함) 다음을 수행 할 수 있습니다.

set clipboard=unnamedplus

이렇게하면 얀크 된 텍스트가 전역 클립 보드에 배치되고 특수 레지스터를 사용하지 않고도 전역 클립 보드에서 붙여 넣을 수 있습니다. ldigas의 솔루션과 달리 GUI가 아닌 VIm 버전에서도 작동합니다.


8
vim-gnome대신 패키지를 설치하는 경우에만 작동합니다 vim.
dan-klasson 2012

4
@ dan-klasson :이 옵션에는 클립 보드 지원으로 컴파일 된 vim이 필요합니다. 을 입력하여이 경우인지 확인할 수 있습니다 vim --version | grep "+xterm_clipboard".
BenC 2013

이것은 vim이 아닌 다른 프로그램에 복사하는 것처럼 보이지만 vim에서 삽입 모드로 들어가서 "shift + insert"를 사용하여 클립 보드에서 붙여 넣으면 처음 두 줄만 붙여 넣습니다. vim-gnome을 설치했습니다. ; 나는 다른 것을 놓치고 있습니까?
t2k32316

1
macOS를 사용 clipboard=unnamed하는 경우 대신 사용해야 할 것입니다 ( vim.wikia.com/wiki/Accessing_the_system_clipboard )
streof

13
set guioptions+=a

간단히 말해서, 무언가를 선택하거나 잡아 당길 때마다 클립 보드에도 넣습니다 (Vim이 아니라 윈도우 시스템의 글로벌 키보드). 이렇게하면 특수 레지스터에 물건을 끌어 당기는 것에 대해 생각할 필요가 없습니다.


2
//,이 조언이 Vim의 어떤 운영 체제 및 / 또는 버전에 적용됩니까?
Nathan Basanese

10

GVIM의 경우을 눌러 v비주얼 모드로 이동합니다. 텍스트를 선택하고 눌러 Ctrl+Insert선택을 글로벌 클립 보드에 복사합니다.

메뉴에서 당신은 바로 가기 키는 것을 알 수 있습니다 "+y즉, 홀드 시프트 키를 누른 다음를 눌러 "다음, +Shift 키와 보도 자료 다음과 y(+ 삽입 시프트에 비해 성가신을).


이 답변이 인기가없는 이유는 무엇입니까? :(
Ankit Shubham

6

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

vim 설치 :

brew install vim --with-lua --with-override-system-vim

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

brew install macvim --with-lua --with-override-system-vim

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

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

set clipboard=unnamed

이제 vim에서 라인을 복사하여 yy 시스템 전체에 붙여 넣을 수 있습니다.


//, 방금 OSX 10.12.3에서 테스트했으며 여기에서 권장 한대로 최신 Vim과 Vim의 Latets GUI 버전을 모두 설치 한 후 제대로 작동했습니다. 감사합니다, @anonymous.
Nathan Basanese

4

설치하지 않은 경우 "xclip"을 설치하십시오.

sudo apt-get install xclip

Xclip은 "ctrl + v"가 아니라 마우스 가운데 버튼을 클릭하여 붙여 넣는 "선택 / 강조 표시된"클립 보드에 데이터를 넣습니다.

vim에서 ex 명령을 사용하십시오.

7w !xclip

또는

1,7w !xclip

또는

%w !xclip

그런 다음 마우스 가운데 버튼을 클릭하여 다른 응용 프로그램에 붙여 넣습니다.


4

vim이 클립 보드 지원으로 컴파일 된 경우 다음과 같은 "*y의미 를 사용할 수 있습니다 . 시각적으로 선택된 텍스트를 레지스터에 yank *( '*'는 클립 보드 용)

클립 보드가 지원되지 않는다면 Ctrl+Insertvim에서 텍스트를 시각적으로 선택한 후 사용하는 방법 밖에 없다고 생각합니다 .


3

다음 줄을 내 .vimrc

vnoremap <F5> "+y<CR>

를 눌러 선택한 텍스트 를 클립 보드에 복사 할 수 있습니다 F5. 이 작업을 수행하려면 시각적 모드에 있어야합니다.


1
추가 ~/.vimrc주셔서 감사합니다,이 훨씬 낫다.
jaggedsoft

2

에 다음 코드를 추가하십시오 .vimrc.

if has('clipboard')
    if has('unnamedplus')  " When possible use + register for copy-paste
        set clipboard=unnamed,unnamedplus
    else         " On mac and Windows, use * register for copy-paste
        set clipboard=unnamed
    endif
endif
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.