답변:
tmux 단축키를 사용해야합니다. tmux 명령 바로 가기가 기본값이라고 가정하면 Ctrl+ b, 다음은 :
Ctrl+ b, [복사 (?) 모드로 들어갑니다.
강조 표시 할 텍스트의 시작 / 끝으로 이동합니다.
Ctrlspace
텍스트 강조 표시를 시작하십시오 (Arch Linux에서). OSX 및 기타 Linux의 소스에서 tmux를 컴파일하면 Space대개 자체적으로 작동합니다. 선택한 텍스트는 색상을 변경하므로 명령이 작동했는지 알 수 있습니다.
복사 할 텍스트의 반대쪽 끝으로 이동하십시오.
Alt+ w선택된 텍스트를 tmux 클립 보드에 복사합니다. (Mac에서는 Esc+ 사용 w)
커서를 반대편의 tmux 창 또는 완전히 다른 tmux 창으로 이동하십시오. 방금 복사 한 텍스트를 붙여 넣을 위치에 커서를 놓습니다.
Ctrl+ b, ]tmux 클립 보드에서 복사 한 텍스트를 붙여 넣습니다.
tmux는 명령을 사용자 정의 키보드 단축키에 매핑하는 데 매우 능숙합니다.
참조 Ctrl+ b, ?설정 키보드 단축키의 전체 목록.
screen
바로 가기 를 사용하는 경우 : Ctrl + A [
(복사 모드 입력), Space
(강조 시작), Enter
(강조 종료), Ctrl + A ]
(붙여 넣기).
Enter
키로 바꿔야 합니다.
불행히도 Alex Leach의 답변에 아직 의견을 추가 할 수 없으므로 Mac OS X 사용자를 위해 여기에 부록을 추가 할 것입니다.
byobu
/ tmux
를 사용하여 Ubuntu Xenial을 사용 하고 있는데 Alt + w는 작동하지 않았습니다.
macOS에서 vim 및 tmux를 사용하는 경우 (macOS 10.12.2, tmux 2.3에서 테스트) :
(tmux의 접두사 키 조합이이라고 가정하십시오 prefix. 접두어는 기본적 으로 ctrl+ b입니다.)
일반 y 및 p 대신 "* y 및"* p와 함께 시스템 클립 보드를 사용할 수 있습니다.
"+2yy
– 두 줄을 X11 클립 보드에 복사 "+dd
– 한 줄을 X11 클립 보드에 복사 "+p
– X11 클립 보드 붙여 넣기
h,j,k,l
. 또한 우분투 VM에서 가끔 "+"레지스터가 알려지지 않은 이유로 사라지는 것을 보았습니다. 레지스터가 있는지 확인하기 위해 첫 번째 열에 문자열이 있는지 +
입력 :reg
하고 확인할 수 있습니다 "+
.
y
하고 p
에 "+y
와 "+p
?
vim
열린 경우 vim 복사 붙여 넣기를 사용하여 텍스트를 복사하는 것이 좋습니다.
Tmux 복사 페이스트가 작동하지만 몇 가지 단점이 있습니다.
먼저 여러 줄의 텍스트를 복사 할 때는 여러 줄을 선택해야합니다. Tmux 복사 페이스트는 일반적으로 vim
라인 번호가 있거나 vim 거터에 표시 (예 : 상대 번호 / 절대 번호)가 있음 을 이해하지 못합니다 . 결과적으로 그것들도 복사됩니다.
둘째, 텍스트에 특정 언어 별 형식이 있고 tmux를 사용하여 붙여 넣기를 vim에 직접 복사하려고하면 형식이 엉망이된다는 것을 알았습니다. 사용하면 피할 수 있습니다 set paste!
. 그러나 더 많은 작업이 필요합니다.
"+y
복사 및 "+p
붙여 넣기Vim
기본적으로 하나 사용하여 VIM 버퍼 시스템 클립 보드 사이 페이스트를 복사하는 방법을 제공 "+y
하거나 "*y
. 그런 다음 사용하여 붙여 넣기 "+p
또는 "*p
. 이렇게하면 홈통이나 vim과 관련이없는 임의의 다른 마크의 상대 숫자를 복사하지 않아도됩니다.
tmux 단축키 시퀀스가 약간 길어서 기억하기 어려운 vim 사용을위한 두 가지 옵션
답변처럼 위에서 사용할 수 말했다 "+y
및 "*y
다음 복사하기 "+p
와 "*p
붙여 각각. vim이 기본적으로 클립 보드를 사용하기를 원하면 바로 사용할 수 있습니다 y/p
.
set clipboard=unamed "sets the default copy register to be *
set clipboard=unamedplus "sets the default copy register to be +
클립 보드 명령의 소스 : https://vi.stackexchange.com/questions/84/how-can-i-copy-text-to-the-system-clipboard-from-vim
:w /tmp/lines
후:r /tmp/lines
다른 인스턴스). 또는 Vim이 시스템 클립 보드와 대화하는 방법을 알고 있다면 임시 파일을 피하기 위해+
또는*
레지스터를 사용할 수 있습니다 .