tmux를 사용하여 마우스로 복사하여 붙여 넣는 방법


44

tmuxOSX를 사용 하고 있습니다. 터미널에서 복사하여 붙여 넣을 때 텍스트 tmux를 길게 Option선택할 수 있습니다. 그러나 텍스트를 창 안에 그대로 둘 수는 없습니다. 따라서 텍스트를 복사하려면 창을 맨 왼쪽으로 순환하거나 아래 그림과 같이 창을 확대해야합니다.

Option키 를 누르고 있어야 하는 것은 고통입니다. 비주얼 모드로 들어가 vim 움직임을 사용하여 마우스를 사용할 수 있다는 것을 알고 있지만 마우스를 사용하는 방법이 있습니다. 누구든지 이것에 대한 해결 방법을 찾았습니까?

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오


"하지만 텍스트를 창 안에 그대로 둘 수는 없습니다." 이게 무슨 뜻이야?
Blaszard

답변:


36

이 코드 블록을에 넣으십시오 ~/.tmux.conf. 이를 통해 마우스를 통합하지 않고도 마우스를 사용하여 창에서 복사하지 않고도 마우스를 복사 할 수 있습니다.

set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -t vi-copy    C-WheelUpPane   halfpage-up
bind -t vi-copy    C-WheelDownPane halfpage-down
bind -t emacs-copy C-WheelUpPane   halfpage-up
bind -t emacs-copy C-WheelDownPane halfpage-down

# To copy, drag to highlight text in yellow, press Enter and then release mouse
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "pbcopy"

그런 다음 tmux 세션을 다시 시작하십시오. 마우스로 일부 텍스트를 강조 표시하지만 마우스를 놓지 마십시오. 텍스트가 강조 표시되고 마우스를 누른 상태에서 return 키를 누릅니다. 강조 표시된 텍스트가 사라지고 클립 보드에 복사됩니다. 이제 마우스를 놓습니다.

이 외에도 마우스를 사용하여 위아래로 스크롤하거나 활성 창을 선택하는 등의 멋진 작업이 있습니다.

macOS에서 최신 버전의 tmux 를 사용하는 경우 위의 버전 대신 다음을 시도하십시오.

# macOS only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"

macOS에서 iTerm을 사용하는 경우 iTerm2> 환경 설정>“일반”탭으로 이동하여“선택”섹션에서“터미널의 응용 프로그램이 클립 보드에 액세스 할 수 있습니다”를 확인하십시오.

그리고 당신이 사용하는 경우 리눅스 다음과 TMUX의 최신 버전

# Linux only
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -T copy-mode-vi    C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-vi    C-WheelDownPane send-keys -X halfpage-down
bind -T copy-mode-emacs C-WheelUpPane   send-keys -X halfpage-up
bind -T copy-mode-emacs C-WheelDownPane send-keys -X halfpage-down

# To copy, left click and drag to highlight text in yellow, 
# once you release left click yellow text will disappear and will automatically be available in clibboard
# # Use vim keybindings in copy mode
setw -g mode-keys vi
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"

다른 많은 tmux 옵션에 대해서는 https://github.com/gpakosz/.tmux 를 확인하십시오 .


1
실제로 실제로 작동하는 것! 복사 및 붙여 넣기는 tmux를 사용해 볼 때 가장 성가신 일입니다. 이전에 포기했지만 시도했던 구성 스 니펫이 일관되게 작동하지 않았습니다. 많은 사람 덕분입니다.
Breno Salgado

1
Mac에서 iterm을 사용 중이고 iTerm2> 환경 설정> "일반"탭을 활성화하고 "선택"섹션에서 "터미널의 응용 프로그램이 클립 보드에 액세스 할 수 있습니다"를 활성화해야했습니다. 참조 : rushiagr.com/blog/2016/06/16/…
Rujoota Shah

@RujootaShah 예, 맞습니다. 그렇게해야합니다. 공유해 주셔서 감사합니다.
GMaster

1
감사! 매력처럼 작동합니다. 그래도 sudo apt-get install -y xclip(Ubuntu Linux) 를 설치해야했습니다 .
Petr

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