vim에서 시스템 클립 보드로 복사 할 수 없습니다 | grep clip +clientserver +clipboard +cmdline_compl +cmdline_hist

제목에서 말했듯이 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도 같은 문제가 있습니다). 어떤 생각?

감사



답변

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

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

sudo apt-get install vim-gtk

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

"+y

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

"+p

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


추가 정보 :


답변

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

한마디로 모든 대답에 맞는 하나의 크기 인 것 같지는 않지만 ‘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에 대해 많이 모른다.


답변

vimrc에서 사용하십시오 :

set mouse=a

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


답변

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

export DISPLAY=:0.0

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


답변

우분투 16.04 에서 작동 하려면 vim-gui-common설치가 필요 "+y합니다.