vim에서 시스템 클립 보드로 복사 할 수 없습니다


54

제목에서 말했듯이 vim에서 시스템 클립 보드로 복사 할 수 없습니다. Viceversa는 외부 Vim에서 복사하여 붙여 넣기 작업을 수행 p합니다.

클립 보드 지원을 설치했으며 vim 버전은 7.3.429입니다.

$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+xsmp_interact +xterm_clipboard -xterm_save 

나는 가지고있다:

set clipboard=unnamedplus

내 안에 있고 .vimrc내가 할 때 설정됩니다 :

set clipboard?

또는

:echo has('clipboard')

나는 Ubuntu 12.04 LTS를 사용하고 있으며 vim을 내부에 가지고 있습니다 gnome-terminal(그러나 GVim도 같은 문제가 있습니다). 어떤 생각?

감사


stackoverflow.com/questions/11489428/… 이것은 약간 도움이 될 수 있습니다.
coteyr

"비주얼 선택시 + y를 입력하고 vim 외부에 붙여 넣기를 시도하는 사이에 vim을 종료 했습니까? 그렇지 않으면 작동하지 않습니다.
Samuel Peter

@SamuelPeter 아니오, 저는 vim을 종료하지 않았습니다
gc5

1
clipboard+=unnamedplus기본 설정에서 무언가를 설정했기 때문에이 문제가 발생 했습니다. clipboard=unnamedplus(예 : 다른 설정 제거)로 변경하면 도움이되었습니다 .
JonnyRaa

@JonnyLeeds가 언급했듯이. 시스템 클립 보드를 공유하기 위해 yp 를 사용하는 동안 구성 set clipboard+=unnamed& set clipboard+=unnamedplus가 작동하지 않습니다 . == ; 내가 처음을 제거한 후 인 및 및 작동! ==:set clipboard?clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus+set clipboard=unnamedset clipboard+=unnamedplus:set clipboard?clipboard=unnamed,unnamedplus
Marslo 2016 년

답변:


87

이것이 나를 위해 일하는 것입니다 (우분투 13.10).

vim을 vim-gtk로 다시 설치하십시오.

sudo apt-get install vim-gtk

마우스를 사용하여 원하는 것을 선택하고 클립 보드에 복사하려면 입력하십시오 .

"+y

클립 보드 유형 에서 vim에 붙여 넣기 :

"+p

왜 그런지 모르겠지만 출력을 비교하면 vim --version일반적인 vim 설치가 vim-gtk에 비해 상당히 제한되어 있음 을 보여줍니다. vim을 vim-gtk로 교체해도 플러그에는 영향을 미치지 않습니다.


추가 정보 :


1
나는 당신이 나를 얼마나 도와 주었고 지금 얼마나 행복하다고 말할 수 없습니다. : D
7hi4g0

1
흥미롭게도 14.04에서 일반 VIM과 VIM-GTK는 모두 xterm_clipboard지원하지만 "+p일반 VIM에서는 작동하지 않습니다. 클립 보드에 클립하는 대신 선택된 선의 애몽을 증가시킵니다.
dotancohen

1
설치 vim-gtk는 14.04.4에서 나에게 효과적 이었지만 다른 사람들과는 약간 다르게 경험했습니다. vim-gtk설치 하기 전에 vim이 표시되었습니다 -xterm_clipboard(즉, 활성화되지 않음). 설치 후 vim-gtk(+ xterm_clipboard)가 표시됩니다. 로 확인하고 있습니다 vim --version | grep clip. 어쨌든, 당신이 필요하다는 것을 이해합니다 +xterm_clipboard!
16:12에

이것은 훌륭한 솔루션입니다. 사실, 나는 새로운 우분투 OS를 설치 한 후에 이것을 처음으로 만들었습니다.
linbianxiaocao

vim-gtk 설치가 나를 위해 일했습니다. 감사합니다
미구엘 모타

6

이 질문을 검색하는 다른 사람들에게 중요 할 수 있기 때문에 아래에 원래 답변을 남겨 두겠습니다.

한마디로 모든 대답에 맞는 하나의 크기 인 것 같지는 않지만 'set clipboard = unnamedplus'를 사용하면 '* p'또는 '+ p'중 하나가 "system"클립 보드에서 작동해야합니다.

'* p'는 거의 확실하게 당신이 원하는 것입니다. ( 여기에서 )


vim은 cli 프로그램입니다. gnome-terminal (또는 모든 터미널 에뮬레이터)에서 사용하는 경우 crtl + c (또는 모든 키 조합)는 먼저 터미널 에뮬레이터, 셸, 마지막으로 프로그램 (이 경우 vim)에 의해 처리됩니다. ctrl + c는 실행중인 작업에 SIGINT 신호를 보내므로 vim과 ctrl + c는 거의 작동하지 않습니다. vim은 SIGINT를 사용하여 삽입 모드 중단 또는 검색 기능 중지와 같은 다른 작업을 중지합니다.

다시 말해. Ctrl + C는 실제로 VIM에 전달되지 않습니다. SIGINT가 VIM으로 전달됩니다. SIGINT는 vim에서 다른 용도로 사용하기 때문에 복사를 사용하면 작동하지 않을 것입니다 (강제로 할 수는 있지만 좋은 생각은 아닙니다).

대신 Ctrl + Shift + C 및 Ctrl + Shift + V를 사용하십시오 (다른 사람들이 있지만 시스템 클립 보드에 텍스트를 넣는 것으로 생각합니다)

공정하게 말하면 나는 gvim에 대해 많이 모른다.


어쩌면 내가 당신을 혼동 .. 내가 사용했다 ctrl-cOUTSIDE 정력과 함께 붙여 넣기 p하지만 정력에 나는 내가 사용하는 것을 알고 y난 내 질문에 편집 할 수 있습니다 ..
GC5

1
LOL에 아직 카페인이 없었습니다. 죄송합니다.
coteyr

5

vimrc에서 사용하십시오 :

set mouse=a

마우스를 사용하여 수동으로 선택하고 복사 할 수 있습니다.


3

뿐만 아니라 허용 대답 당신이 (예를 통해 SSH을 통해 원격으로 작업하는 경우, tmux서로 다른 여러 창으로 vim당신이 사이에 복사 할 프로세스), 당신은 또한 이후 X 표시를 내 보내야 vim사용하고 xterm-clipboard다른 프로세스 사이의 인터페이스. 당신은 실행하여 X 디스플레이를 설정할 수 있습니다

export DISPLAY=:0.0

시작 하기 전에 vim 그리고 다른 쉘에서 실행해야합니다 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.