tmux 1.6을 실행 중이며 대화 형 모드로 복사 할 때 vi 스타일 키 바인딩을 사용하고 시스템 클립 보드를 사용하도록 구성하려고합니다.
set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' "copy-selection && run \"tmux save-buffer | xclip -selection clipboard\""
간단히 말해서 C+ 를 수행 [한 다음 v복사 할 텍스트 선택을 시작하고 y눌렀을 때 선택 항목을 tmux 선택 항목에 복사 한 다음을 사용하여 시스템 클립 보드로 내보내십시오 xclip
.
불행히도,이 작업을 수행하려고하면 다음이 표시됩니다.
.tmux.conf: 14: unknown command: copy-selection && run "tmux save-buffer | xclip -selection clipboard"
tmux 구성에서이를 수행하는 방법이 있습니까?
답변
이것도 여기 에 대답 했지만 사용법을 이해하는 데 시간이 걸렸으므로 혼란 스러웠던 다른 사람을 설명하겠습니다.
이것은 기본적으로 설정입니다.
(tmux 버전 <2.5 )
bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'
(tmux 버전> = 2.5 )
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
그런 다음 Ctrl+b
[
을 눌러 복사 모드로 들어갑니다. 그런 다음 Space
vi 키를 누르십시오 . 그런 다음을 누르지 않고을 Enter
누르면 y
선택 항목이 클립 보드에 복사됩니다.
참고 : 이것은 vi 키와 함께 tmux의 기본 바인딩을 사용한다고 가정합니다.
Tmux에는 모드마다 다른 키 바인딩 테이블이 있습니다. 따라서 복사 모드 bind-key -t vi-copy y
에서 y
키 의 동작을 설정 합니다. 처음에는 Enter
선택 후 타격에 익숙해 져 혼란 스러웠습니다 . Enter
실제로는 copy-selection
명령 의 기본 키 바인딩입니다 (복사 모드에있을 때). 이 copy-pipe
명령을 사용하면 선택 영역을 명령에 파이프하기 위해 새 키를 바인딩 할 수 있습니다 (이 경우에는) xclip
.
를 실행하면 복사 모드에 대한 모든 키 바인딩을 볼 수 있습니다 list-keys -t vi-copy
.
답변
답변
다음과 같은 몇 가지 기술적 문제가 발생합니다.
“특별 모드”바인딩 (예 : vi-copy
)…
- 다른 명령 세트를 사용하십시오 (즉,
run-shell
일명run
사용 불가). - 여러 명령을 바인딩 할 수있는 기능이 없습니다 (일반적으로
;
셸의&&
명령 구분 기호를 사용할 수 없음).
tmux 1.8에는 다음 copy-pipe
이 도움이 될 수 있습니다.
bind-key -t vi-copy y copy-pipe 'xclip -selection clipboard >/dev/null'
( FAQ에 나열된 것과 같은 바인딩이 있습니다 .)
답변
tmux 용 tmux-yank 플러그인을 살펴보십시오.
https://github.com/tmux-plugins/tmux-yank
tmux에서 시스템 클립 보드로 복사 / 붙여 넣기를 자동화하는 방법을 제공합니다. OSX / Linux / Cygwin 시스템에서 작동합니다.
답변
macOS의 경우이 줄을 추가 할 수 있습니다 .tmux.conf
bind -t vi-copy y copy-pipe 'pbcopy'
답변
이것이 tmux 2.2를 사용하고 xclip을 설치 한 결과입니다. Vim 스타일 복사의 경우 .tmux.conf에 다음을 추가하십시오.
bind Escape copy-mode
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
# Vim style copy to clipboard
bind-key -t vi-copy y copy-pipe "xclip -selection c > /dev/null"
bind-key p run "xclip -o -sel clip | tmux load-buffer - ; tmux paste-buffer"
복사 모드에서 PREFIX v가 선택을 시작하고 PREFIX y가 클립 보드에 복사합니다. PREFIX p를 사용하여 터미널에 붙여 넣을 수 있습니다.