tmux set -g 마우스 모드가 작동하지 않습니다


244

나는 둘러보고 사람들은 말하기를

set -g mouse-mode on

tmux를 실행할 때 터미널 출력을 스크롤 할 수 있어야합니다. 그러나 이것을 내 ~/.tmux.conf파일 tmux set -g mouse-mode on에 넣고 tmux 세션에있을 때 말하는 후에는 아무것도 변하지 않습니다. 스크롤 할 때 기본 설정으로 vim을 스크롤하는 것처럼 여전히 tmux 외부에 있습니다.

이것이 왜 그런지 아는 사람이 있습니까?


mode-mouse이전 버전
hyiltiz

답변:


559

따라서이 옵션은 버전 2.1 (2015 년 10 월 18 일)에서 이름이 변경되었습니다.

로부터 변경 내역 :

 Mouse-mode has been rewritten.  There's now no longer options for:
    - mouse-resize-pane
    - mouse-select-pane
    - mouse-select-window
    - mode-mouse

  Instead there is just one option:  'mouse' which turns on mouse support

그래서 이것은 내가 지금 내 .tmux.conf파일 에서 사용하고있는 것입니다.

set -g mouse on

1
@ Graham42 감사합니다! 이것이 이제 정답입니다. tmux를 업데이트했는데 오늘 아침에 고장났습니다.
Matthew Lehner

7
이 질문이 2012 년에 변경되기 전에이 질문이 제기되었지만, 이것은 (그리고 다른 많은 사람들이) 필요한 답일뿐입니다.
Andrew

2
유용한, 우분투 16.04에서 내 문제를 해결
sudoz

2
이 기능은 Mac에서 작동하지만와 함께 사용 set -g mouse on하면 Mac 터미널에서 텍스트를 선택하는 기능이 손상됩니다. 내가 특별히해야 할 set -g mouse off텍스트를 선택
수상

1
선택 또는 붙여 넣기 전에 @Wins 프레스 시프트
mdekkers

70

@ Graham42에서 언급했듯이 마우스 옵션은 버전 2.1에서 변경되었습니다. 스크롤을하려면 먼저 복사 모드로 들어가야합니다. 2.1 이전의 방식과 거의 동일한 스크롤을 가능하게하려면에 다음을 추가하십시오 .tmux.conf.

set-option -g mouse on

# make scrolling with wheels work
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

그러면 창 위로 마우스를 가져 가서 스크롤 할 수 있으며 해당 창을 한 줄씩 스크롤 할 수 있습니다.

출처 : https://groups.google.com/d/msg/tmux-users/TRwPgEOVqho/Ck_oth_SDgAJ


2
환상적인! mouse수락 된 답변으로 설정 하면 효과가 없습니다. 복사 모드로 들어가는이 별칭은 완벽했습니다
Gareth

2
이것은 작동하는 것처럼 보이지만 더 이상 창에서 텍스트를 선택할 수 없습니다. 다른 사람 도이 문제가 있습니까?
will.fiset

64

지금 당장 정신을 잃고있는 다른 사람들에게 빠르게 머리를 돌리십시오.

https://github.com/tmux/tmux/blob/310f0a960ca64fa3809545badc629c0c166c6cd2/CHANGES#L12

그래서 그것은 단지

 :setw -g mouse

1
또는 당신은 항상 그것을 원하는 경우, 단순히 추가 set -g mouse에서 ~/.tmux.conf. 이렇게하면 마우스를 통해 텍스트를 터미널에 복사 / 붙여 넣기가 더 어려워집니다 (방법이 있다고 확신합니다-나는 그것을 직접 보지 않았습니다).
JM Janzen

36

이것은 작동해야합니다 :

setw -g mode-mouse on

그런 다음 리소스 다음 구성 파일

tmux source-file ~/.tmux.conf

또는 서버를 죽일


나는 set -g mouse on과 소스 파일 명령을 사용하여 완벽하게 작동했습니다.
복음 슬라이드

19

~ / .tmux.conf에 붙여 넣기

set -g mouse on

터미널에서 실행

tmux source-file ~/.tmux.conf

감사합니다 .byobu --version byobu 버전 5.73 tmux 2.5에서 일했지만 위의 제안은 그렇지 않았습니다.
토마스

15

@ Graham42가 말했듯이 버전 2.1에서 마우스 옵션의 이름이 바뀌었지만 ~ / .tmux.conf에 이것을 추가하는 모든 tmux 버전에서 마우스를 사용할 수 있습니다.

배쉬 쉘 :

is_pre_2_1="[[ $(tmux -V | cut -d' ' -f2) < 2.1 ]] && echo true || echo false"
if-shell "$is_pre_2_1" "setw -g mode-mouse on; set -g mouse-resize-pane on;\
      set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on"

Sh (Bourne shell) 껍질 :

is_pre_2_1="tmux -V | cut -d' ' -f2 | awk '{print ($0 < 2.1) ? "true" : "false"}'"
if-shell "$is_pre_2_1" "setw -g mode-mouse on; set -g mouse-resize-pane on;\
      set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on"

도움이 되었기를 바랍니다


1
감사합니다! git에 tmux.conf가 있으며, 이전 tmux 버전의 머신을 정기적으로 사용합니다.
Seb

이 답변의 배후에는 순수한 천재가 있습니다! ... 또한 옵션 styleresp에 도움이 될 수 있습니다 . tmux 2.9의 fg-, bg-및 attr-abolition . 그러나 적어도 내 쉘이 부동 소수점 숫자 비교를 거부하기 때문에 작동하지 않습니다 ... 현지화가 .부동 소수점 이외의 것을 사용 하는 경우이 문제를 해결해야합니다.
DJCrashdummy

@DJCrashdummy tmux -V | cut -d ' ' -f2쉘 의 결과는 무엇입니까 ?
Alejandro Blasco

1
참고 : 우분투 19.10에서 버전은 tmux 2.9a입니다. 그래서 나는 tmux -V | sed -E 's/tmux ([0-9.]*).*$/\\1/;'그것을 더 강력하게 파싱했다.
autra

1
참고 : 경우에도 우분투 18.04에 나를 위해 적어도 것을 /bin/sh배쉬, 내가이 필요 쉿의 구문을, 아마도 때문에 배쉬는 POSIX 모드로 들어갑니다
philb

1

이 시도. 내 컴퓨터에서 작동합니다.

set -g mouse on

1

현재 Tmux 버전에 따라 옵션을 설정하는 악마 논리를 계속 사용할 수 있습니다 . 이전 답변 참조 .

그러나 Tmux v1.7부터는 set-option"-q"를 추가하여 오류를 방지하고 아무것도 인쇄하지 않습니다 ( changelog 참조 ). 이 기능을 사용하는 것이 좋습니다. 더 읽기 쉽고 쉽게 확장 할 수 있습니다.

이것을 다음에 추가하십시오 ~/.tmux.conf:

# from v2.1
set -gq mouse on
# before v2.1
set -gq mode-mouse on
set -gq mouse-resize-pane on
set -gq mouse-select-pane on
set -gq mouse-select-window on

Restar TMux 또는 source-file새 제품.tmux.conf


참고 : 사람들 이이 답변을 선호하는 경우 이전 답변을 제거 할 수 있습니다.

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