.tmux.conf의 복사 (X 클립 보드로) 바로 가기


22

tmux에서 X 클립 보드에 텍스트를 복사하려면 현재 내가하는 일은 다음과 같습니다.

  • 선택 모드로 이동 prefix[
  • space( mode-keys vibtw 사용 )으로 선택 시작
  • 텍스트를 선택하고 enter
  • 를 사용하여 tmux 버퍼를 X 클립 보드에 복사 prefixctrl+c

(나는 매핑을 bind C-c run "tmux show-buffer | xclip -selection clipboard -i"

선택 모드에 대한 매핑을 만들어 이러한 단계 중 일부를 제거하려고합니다. 나는 시도했다 :

bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"

그것은 나에게 오류를 준다 :

.. usage: bind-key [-cnr] [-t key-table] key command [arguments]

(오류를 복사하지 못했습니다)

이 문제를 어떻게 해결할 수 있습니까?

편집 : 나는 일반 선택처럼 마우스를 사용하여 tmux 버퍼 (처음 3 단계)를 선택하고 복사 할 수 있다는 것을 깨달았습니다 (강조 표시는 지속되지 않지만 여전히 텍스트를 선택합니다). 다음 바인딩을 사용하여 x 클립 보드에 복사하십시오. :

bind-key -n C-c run "tmux show-buffer | xclip -selection clipboard -i"

(이 방법을 사용 하여이 텍스트를 복사했으며 쉬웠습니다.)

참고 -n의미는 "접두어가"그러므로 더 필요하지 않습니다 이스케이프. 소실 강조 표시로 혼동하지 않으면 일반 (공통 사용자 인터페이스) 복사와 유사합니다.

이것이 내가 지금까지 생각 해낸 최고입니다.

EDIT2 :ctrl+c 프로세스 인터럽트와 겹치는 것으로 나타 났으 므로 지금은 변경했습니다 ctrl+alt+c. (좋아하지 않았다)

EDIT3 : tmux 1.8 또는 복사 모드에서 키 바인딩을 추가하는 지원이 추가되었으므로 이제 다음과 같은 것을 사용하여 첫 번째 원래 의도가 가능합니다.

bind-key -tvi-copy y copy-pipe "xclip -selection clipboard -i"
bind-key -tvi-copy enter copy-pipe "xclip -selection clipboard -i"

이 두 바인딩을 사용하면 텍스트를 클립 보드에 복사 enter하거나 y복사를 마칠 수 있습니다.

마우스로 복사하고 나중에 tmux 버퍼 내용을 클립 보드로 가져 오기로 결정한 경우이 줄을 계속 유지하십시오.

bind-key y run "tmux show-buffer | xclip -selection clipboard -i"

1
stty를 사용하여 ctrl-c에서 다른 것으로 인터럽트를 변경할 수 있습니다. 예를 들어, Ctrl-Z를 사용하려면 다음을 수행하십시오 stty intr=^Z. 이 명령에주의하여 일반 문자를 인터럽트 문자로 설정할 수 있습니다 (그렇게하면 설정을 수정할 때까지 ctrl-v를 사용하여 입력하십시오). 그리고 어떤 키가 사용되는지 혼동하지 마십시오 (예 : ctrl-z는 일반적으로 일시 중단 키입니다).
ash

@ash는 감사의 말을 전했다. 그러나 ^c복사보다 자주 사용하는 경우 인터럽트 키로 사용할 것이라고 생각한다 . 또한이 문제에 대한 현재 솔루션을 반영하도록 답변을 업데이트했습니다.
없음

잘 들린다. 또한 xmodmap을 여러 번 실행하면 수정하기 어려운 재미있는 상태에 놓일 수 있으므로 명령의 영향이 올바르지 않으면 새 X 세션으로 새로 시작하는 것이 좋습니다.
ash

러닝 bind-key -t vi-copy C-c run "tmux show-buffer | xclip -selection clipboard -i"라이브 제공 :Unknown command: run
Alexej Magura

1
그러나 달리기 bind-key C-c run "tmux show-buffer | xclip -selection clipboard -i"는 잘 작동합니다.
Alexej Magura

답변:


13

이 답변은 바로 가기 생성에 대한 귀하의 질문에 직접 답변하지 않습니다. 그러나 여기 내가하는 일이 있습니다.

을 길게 눌러 키 / 마우스 이벤트를 tmux로 전달하는 것을 일시적으로 중단 할 수 있습니다 shift. 따라서 Shift 및 사용자 터미널 / X의 일반 단축키를 길게 눌러 복사 할 수 있습니다. Terminator를 사용하는 경우에는을 누르고 shift원하는 것을 마우스로 강조 표시하고Ctrl+Shift+C

분할 분할 창이있는 경우 zoom-toggle-key를 사용하여 현재 분할 창을 확대 / 축소 Prefix + z하고 복사 작업을 수행 할 수 있습니다. (tmux v1.8에서 테스트)


수평 분할로 인해 이것을 사용할 수 없었지만 팁 덕분에 줌 트릭이 훌륭합니다.
none

이것은 그놈 터미널에서 작동합니다. 그러나 모든 터미널 에뮬레이터에 적용됩니까? 아마 아닙니다
jpaugh

wsl-terminal에서 이것은 작동합니다. 내 하루를 구하십시오!
Qinsi

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