tmux सेट -g माउस-मोड काम नहीं करता है


244

मैं चारों ओर देख रहा हूं और लोग कहते हैं कि डाल दिया

set -g mouse-mode on

जब आप tmux चलाते हैं तो आपको टर्मिनल आउटपुट पर स्क्रॉल करना चाहिए। हालाँकि, दोनों को मेरी ~/.tmux.confफ़ाइल में डालने और यह कहने के tmux set -g mouse-mode onबाद कि tmux सेशन में, कुछ भी नहीं बदलता है। जब मैं स्क्रॉल करता हूं तो मैं अभी भी tmux से बाहर निकलता हूं जैसे कि डिफ़ॉल्ट सेटिंग्स के साथ स्क्रॉल करना।

किसी को पता है क्यों है यह?


mode-mouseपुराने संस्करण में
21

जवाबों:


559

इसलिए इस विकल्प को संस्करण 2.1 (18 अक्टूबर 2015) में बदल दिया गया है

से बदलाव का :

 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
धन्यवाद @ ग्राहम ४२! यह अब सही उत्तर है। मैंने tmux अपडेट किया और यह आज सुबह टूट गया - यह इसे ठीक करता है।
मैथ्यू लेहनर

7
हालांकि इस बदलाव से पहले 2012 में यह सवाल पूछा गया था, यह सिर्फ जवाब है I (और कई अन्य) की जरूरत है, hah
एंड्रयू

2
उपयोगी, उबंटू में मेरी समस्या को ठीक करें 16.04
sudoz

2
जबकि यह मैक के लिए काम कर रहा है, यह set -g mouse onमैक के टर्मिनल में पाठ का चयन करने की क्षमता को तोड़ देगा। मुझे विशेष रूप set -g mouse offसे पाठ का चयन करना है
जीत

1
@ चयन करने या चिपकाने से पहले शिफ्ट प्रेस
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स्वीकार किए गए उत्तर के रूप में सेटिंग का कहना है कि मेरे लिए काम नहीं करता है - यह उपनाम जो कॉपी मोड में प्रवेश करता है वह एकदम सही था
गैरेथ

2
यह काम करने लगता है, हालांकि मैं अब पैन में पाठ का चयन नहीं कर सकता। किसी और को भी इस मुद्दे को होने?
वसीयत

64

बस किसी और के लिए एक त्वरित सिर-जो अभी अपना दिमाग खो रहा है:

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

तो बस यही है

 :setw -g mouse

1
या यदि आप यह हमेशा पर चाहते हैं, बस जोड़ें set -g mouseमें ~/.tmux.conf। हालांकि ध्यान दें कि यह माउस के माध्यम से टर्मिनल में पाठ को कॉपी / पेस्ट करना अधिक कठिन होगा (मुझे यकीन है कि इसका एक तरीका है - मैंने अभी इसे खुद नहीं देखा है)।
जेएम जेजेन

36

यह काम करना चाहिए:

setw -g mode-mouse on

फिर संसाधन फिर फ़ाइल को कॉन्फ़िगर करें

tmux source-file ~/.tmux.conf

या सर्वर को मार डालो


मैंने सेट-जी माउस का उपयोग किया और आपके द्वारा दिए गए स्रोत-फ़ाइल कमांड पर पूरी तरह से काम किया।
गोस्पेलस्लाइड

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"

(बॉर्न शेल) के गोले:

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
धन्यवाद! मेरे पास gm में tmux.conf है, और पुराने tmux संस्करण के साथ नियमित रूप से मशीनों का उपयोग करते हैं ...
Seb

इस जवाब के पीछे का विचार शुद्ध प्रतिभा है! ... और style-ओप्पन सम्मान के लिए भी मदद कर सकता है । fg-, bgऔर attr-mux में tmux 2.9 । लेकिन यह काम नहीं करता है क्योंकि कम से कम मेरा शेल फ़्लोटिंग-पॉइंट नंबरों की तुलना करने से इनकार करता है ... और यदि आपका स्थानीयकरण .फ़्लोटिंग-पॉइंट के रूप में कुछ और उपयोग करता है , तो आपको इस मुद्दे के आसपास भी काम करना होगा।
डीजे क्रशदमी

@DJCrashdummy tmux -V | cut -d ' ' -f2आपके शेल में आउटपुट क्या है ?
अलेजांद्रो ब्लास्को '’

1
नोट: ubuntu 19.10 पर, संस्करण tmux 2.9a है। इसलिए मैं tmux -V | sed -E 's/tmux ([0-9.]*).*$/\\1/;'इसे और अधिक मजबूती से पार्स करता था।
ऑटोरा

1
ध्यान दें: कि कम से कम मेरे लिए उबंटू 18.04 पर, भले ही /bin/shबैश हो, मुझे Sh सिंटैक्स की आवश्यकता है , शायद क्योंकि बैश POSIX मोड में प्रवेश करता है
फिल्ब


1

आप अभी भी अपने वर्तमान Tmux संस्करण के आधार पर विकल्पों की सेटिंग के शैतान तर्क का उपयोग कर सकते हैं: मेरा पिछला देखें उत्तर देखें

लेकिन चूंकि Tmux v1.7, set-optionचुप्पी त्रुटियों के लिए "-q" जोड़ता है और कुछ भी नहीं प्रिंट करता है (देखें) चैंज )। मैं इस सुविधा का उपयोग करने की सलाह देता हूं, यह अधिक पठनीय और आसानी से विस्तार योग्य है।

इसे अपने में जोड़ें ~/.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

रेस्टार टमक्स या source-fileआपका नया.tmux.conf


साइड नोट: मैं अपने पुराने जवाब को हटाने के लिए खुला हूं अगर लोग इसे पसंद करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.