tmux set -g mouse-mode on tidak berfungsi


244

Saya sudah melihat-lihat dan orang mengatakan menempatkan itu

set -g mouse-mode on

seharusnya membiarkan Anda menggulir keluaran terminal saat menjalankan tmux. Namun, setelah keduanya meletakkan ini di ~/.tmux.conffile saya dan mengatakan tmux set -g mouse-mode onketika di sesi tmux, tidak ada yang berubah. Ketika saya gulir saya masih mendapatkan di luar tmux seperti gulir di vim dengan pengaturan default.

ada yang tahu kenapa ini?


mode-mousedalam versi lama
hyiltiz

Jawaban:


559

Jadi opsi ini telah diubah namanya dalam versi 2.1 (18 Oktober 2015)

Dari changelog :

 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

Jadi ini yang saya gunakan sekarang di .tmux.conffile saya

set -g mouse on

1
Terima kasih @ Graham42! Ini sekarang jawaban yang benar. Saya memperbarui tmux dan rusak pagi ini - ini memperbaikinya.
Matthew Lehner

7
Meskipun pertanyaan ini diajukan pada 2012 sebelum perubahan ini, ini hanya jawaban yang saya (dan banyak lainnya) butuhkan, hah
Andrew

2
berguna, perbaiki masalah saya di Ubuntu 16.04
sudoz

2
Meskipun ini berfungsi untuk Mac, set -g mouse onitu akan merusak kemampuan untuk memilih teks di terminal Mac. Saya harus secara khusus melakukan set -g mouse offuntuk memilih teks
Wins

1
@ Menangkan pers shift sebelum memilih atau menempel
mdekkers

70

Seperti yang dicatat oleh @ Graham42, opsi mouse telah berubah di versi 2.1. Menggulir sekarang mengharuskan Anda untuk masuk ke mode salin terlebih dahulu. Untuk mengaktifkan pengguliran, hampir identik dengan seperti sebelum 2.1, tambahkan berikut ini ke .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

Ini akan memungkinkan pengguliran saat mengarahkan kursor di atas panel dan Anda akan dapat menggulir panel itu baris demi baris.

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


2
FANTASTIS! Hanya pengaturan mousesebagai jawaban yang diterima mengatakan tidak bekerja untuk saya - alias ini yang memasuki mode salin sempurna
Gareth

2
Ini sepertinya berhasil, namun saya tidak dapat memilih teks dalam panel lagi. Adakah orang lain yang mengalami masalah ini?
will.fiset


36

ini harus bekerja:

setw -g mode-mouse on

kemudian sumber daya lalu konfigurasi file

tmux source-file ~/.tmux.conf

atau bunuh server


Saya menggunakan set -g mouse dan perintah source-file yang Anda berikan, bekerja dengan sempurna.
gospelslide

19

Tempel di sini di ~ / .tmux.conf

set -g mouse on

dan jalankan di terminal

tmux source-file ~/.tmux.conf

Terima kasih, bekerja untuk byobu --version byobu versi 5.73 tmux 2.5 sementara saran di atas tidak.
Thomas

15

Seperti yang dikatakan @ Graham42, dari versi 2.1 opsi mouse telah diubah namanya tetapi Anda dapat menggunakan mouse dengan versi tmux mana pun yang menambahkan ini ke ~ / .tmux.conf Anda:

Kerang bash :

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"

Kerang 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"

Semoga ini membantu


1
Terima kasih! Saya memiliki tmux.conf di git, dan secara teratur menggunakan mesin dengan versi tmux yang lebih lama ...
Seb

ide di balik jawaban ini adalah jenius murni! ... dan juga dapat membantu untuk styleopsi-resp. fg-, bg- dan attr-abolition di tmux 2.9 . tetapi itu tidak berfungsi karena setidaknya shell saya menolak untuk membandingkan angka floating-point ... dan jika lokalisasi Anda menggunakan sesuatu selain .sebagai floating-point, Anda juga harus mengatasi masalah ini.
DJCrashdummy

@DJCrashdummy Apa output dari tmux -V | cut -d ' ' -f2shell Anda?
Alejandro Blasco

1
Catatan: di ubuntu 19.10, versinya adalah tmux 2.9a. Jadi saya biasa tmux -V | sed -E 's/tmux ([0-9.]*).*$/\\1/;'menguraikannya lebih kuat.
autra

1
Catatan: setidaknya untuk saya di Ubuntu 18.04, walaupun /bin/shBash, saya memerlukan sintaks Sh , mungkin karena Bash masuk ke mode POSIX
philb


1

Anda masih dapat menggunakan logika setan pengaturan opsi tergantung pada versi Tmux Anda saat ini: lihat jawaban saya sebelumnya .

Tapi sejak Tmux v1.7, set-optiontambahkan "-q" untuk membungkam kesalahan dan tidak mencetak apa pun (lihat changelog ). Saya merekomendasikan untuk menggunakan fitur ini, ini lebih mudah dibaca dan mudah diperluas.

Tambahkan ini ke Anda ~/.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 atau yang source-filebaru.tmux.conf


Catatan: Saya terbuka untuk menghapus jawaban lama saya jika orang lebih suka yang ini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.