vim에서 외부 프로그램으로 텍스트를 복사하는 방법은 무엇입니까?

vim에서 외부 프로그램으로 텍스트를 복사하는 방법은 무엇입니까?

vim에서 일부 텍스트를 복사하여 붙여넣으려고 합니다. 나는 일을 해요V비주얼 모드로 들어간 다음와이일단 내 블록을 선택합니다.

p가 텍스트를 붙여넣기 때문에 텍스트를 vim의 클립보드에 복사하는 것 같습니다. 하지만 다른 프로그램(예: Chrome)에서는 마우스 오른쪽 버튼 클릭->붙여넣기를 실행해도 올바른 텍스트가 붙여넣어지지 않습니다. 올바른 클립보드에 텍스트를 복사하려면 어떻게 해야 합니까?

답변1

vim --version다음은 귀하에게 능력이 있음을 나타내는 경우에만 유효합니다 +xterm_clipboard. 그렇지 않은 경우 추가 패키지를 설치하거나 vim을 다시 컴파일하여 기능을 추가해야 합니다.


실제로 두 가지 옵션이 있습니다.

"+y

"일반" 클립보드 버퍼에 복사합니다(Ctrl+V를 사용하여 붙여넣고 마우스 오른쪽 버튼을 클릭한 후 "붙여넣기" 선택 등을 할 수 있음).

"*y

X11 선택 항목으로 복사 - 마우스 가운데 버튼을 클릭하여 이 버퍼에서 붙여넣을 수 있습니다.

이것만 알아두시면 양방향으로 작동합니다 "*. "+따라서 다른 애플리케이션에서 일부 텍스트를 선택했다면 vim 을 사용하여 vim에 붙여넣을 수 있고 "*p, 일부 텍스트를 복사한 경우(예: Ctrl-C 사용) vim 을 사용하여 vim에 붙여넣을 수 있습니다 "+p.

답변2

Shift 키를 누르세요.키를 누르고 마우스 커서로 텍스트를 선택합니다.
텍스트가 클립보드에 복사됩니다.

이것은 붙여넣기에도 적용됩니다.~에서클립보드를 vim으로 가져옵니다.

명확히 말하면 이는 vim터미널에서 실행될 때 작동합니다(예 xterm: .

답변3

vim >=7.3.74를 사용하는 경우 실제로 vimrc에 다음을 넣을 수 있습니다.

set clipboard=unnamedplus

+기본적으로 버퍼(시스템 클립보드)를 자동으로 사용합니다 . 그런 다음 복사(복사)하려면 일반 y명령 등을 사용하면 됩니다.

하지만 이 동작이 다소 짜증스럽다고 생각합니다. 기본 버퍼에 작업하는 텍스트를 넣는 것과 같은 명령은 인터넷에서 한 줄을 d빠르게 붙여넣을 수 없다는 것을 의미하기 때문입니다 .dd

답변4

내 vim이 클립보드를 지원하지 않는지 확인하면 다음과 같습니다.

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

vim-gnome을 설치하고 다시 확인했습니다.

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

이제 각각 "+y"와 "+p"를 사용하여 복사하고 붙여넣을 수 있습니다.

관련 정보