सवाल मैं tmux में कैसे स्क्रॉल करूं?


मैंने अभी tmux का उपयोग शुरू किया है, और मुझे यह वाकई पसंद है, लेकिन मुझे खोलने वाले बफर / पैन / विंडो में स्क्रॉल करने में सक्षम होना चाहिए। मुझे परवाह नहीं है कि यह माउस के साथ काम करता है या नहीं। जब मैं tmux मैन पेज खोजता हूं, तो मुझे "स्क्रॉल" शब्द के केवल दो उदाहरण मिलते हैं, और दोनों को कॉपी मोड के साथ करना होता है। कॉपी मोड में प्रवेश करने के सभी ओवरहेड के बिना स्क्रॉल करने का कोई तरीका है?


1099
2017-11-10 18:40


मूल


आप किस ओवरहेड से चिंतित हैं? copy-mode इतिहास देखने का तरीका है (और वैकल्पिक रूप से इसके बाहर सामान कॉपी करें)। - Chris Johnsen
मेरे लिए आप स्क्रॉल मोड और क्यू छोड़ने के लिए f7 दबा सकते हैं - JohnMerlino
set -g mode-mouse on प्रति @ चाइयाचैया का जवाब मेरे लिए विजेता था - Peter Berg


जवाब:


Ctrl- फिर [ तो आप चारों ओर स्क्रॉल करने के लिए अपनी सामान्य नेविगेशन कुंजी का उपयोग कर सकते हैं (उदाहरण के लिए। ऊपर की ओर तीर या PgDn)। दबाएँ क्ष स्क्रॉल मोड छोड़ने के लिए।

वैकल्पिक रूप से आप दबा सकते हैं Ctrl-  PgUp सीधे कॉपी मोड में जाने के लिए और एक पेज को स्क्रॉल करें (जो ऐसा लगता है जैसे आप अधिकतर समय चाहते हैं)

में vi मोड (नीचे देखें), आप लाइन का उपयोग कर पेज अप / डाउन लाइन को भी स्क्रॉल कर सकते हैं खिसक जाना-कश्मीर तथा खिसक जाना-j (यदि आप पहले ही स्क्रॉल मोड में हैं)। Unshifted, कर्सर पृष्ठ के बजाय चलता है।

से अंश मैन पेज:

एक प्रीफिक्स कुंजी, 'सी-बी' (Ctrl-b) डिफ़ॉल्ट रूप से एक कुंजी संयोजन का उपयोग कर एक संलग्न क्लाइंट से tmux नियंत्रित किया जा सकता है, उसके बाद कमांड कुंजी के बाद।

 The default command key bindings are:

[           Enter copy mode to copy text or view the history.

Function                     vi              emacs
--------                     --              -----
Half page down               C-d             M-Down
Half page up                 C-u             M-Up
Next page                    C-f             Page down
Previous page                C-b             Page up
Scroll down                  C-Down or C-e   C-Down
Scroll up                    C-Up or C-y     C-Up
Search again                 n               n
Search again in reverse      N               N
Search backward              ?               C-r
Search forward               /               C-s

इसके अलावा एक गुच्छा अधिक। ध्यान दें कि आपको प्रेस करना है C-b यदि आप पेज के लिए इसका उपयोग करते हैं तो दो बार C-b कमांड कुंजी के रूप में बाध्य है। एक दोहराना गिनती के साथ एक कॉपी मोड कमांड prefacing पर जानकारी के लिए मैन पेज देखें।

आप कुंजी बाध्यकारी मोड का उपयोग कर सेट कर सकते हैं Ctrl-, फिर

:set-window-option mode-keys emacs

या vi


1337
2017-11-11 03:02



मुझे लगता है C-b = है choose-buffer डिफ़ॉल्ट रूप से। क्या आपका मतलब है C-b [ (जो है copy-mode डिफ़ॉल्ट रूप से)? इसके अलावा आप भी उपयोग कर सकते हैं C-b PageUp पिछले पृष्ठ पर सीधे कॉपी-मोड शुरू करने के लिए (बहुत आसान जब आप जानते हैं कि आप क्या देखना चाहते हैं / प्रतिलिपि पहले से ही वर्तमान पृष्ठ से स्क्रॉल कर चुकी है)। - Chris Johnsen
सही है, मेरे tmux में कोई स्क्रॉल-मोड नहीं है। आपको C-b [ प्रतिलिपि मोड में प्रवेश करने के लिए और उसके बाद स्क्रॉल करने के लिए या तो Emacs या vi कुंजी-बाइंडिंग का उपयोग करें। यह स्क्रॉल करने के लिए बहुत सारे कदमों की तरह लगता है, लेकिन tmux के लाभ अभी भी इन परेशानियों से अधिक हैं। मैं एक मैकबुक पर हूं और कोई पेजअप कुंजी नहीं है: - \। (इसके अलावा, मैं मार्कडाउन के साथ चाबियाँ कैसे बना सकता हूं जैसे आपने किया, डेनिस?) - chadoh
@ चाडोह: इन्हें अपनी मैकबुक पर आज़माएं: होम: एफएन-वामआरो; अंत: एफएन-राइटअरो; पेज अप: एफएन-अप एरो; पृष्ठ नीचे: एफएन-डाउनएरो। कीकैप्स बनाने के लिए: <kbd>Ctrl</kbd> - Dennis Williamson
मैकबुक पर, एफएन + अप सीधे टर्मिनल ऐप पर जाता है और कभी भी tmux हिट नहीं करता है - Tyler
यदि आप स्क्रॉल मोड में हैं तो मैकबुक पर आप पृष्ठ को स्क्रॉल करने के लिए fn + Shift + LeftArrow का उपयोग कर सकते हैं। - Nick Hammond


खैर, आपको स्क्रॉलिंग सेट करने के उचित तरीके पर विचार करना चाहिए: अपने में जोड़ें tmux.conf

set -g mouse on        #For tmux version 2.1 and up

या

set -g mode-mouse on   #For tmux versions < 2.1

यह खिड़कियों और पैन में मेरे लिए काम किया। अब टीएमयूक्स बिल्कुल सही है।

प्रैक्टिकल टीएमयूक्स tmux.conf फ़ाइलों पर अधिक जानकारी है।


248
2017-11-25 13:05



जब मैं ऐसा करता हूं, माउस क्लिक और स्क्रॉल टर्मिनल के तत्काल क्षेत्र में मुद्रित होने के लिए gibberish वर्णों को मुद्रित करने का कारण बनता है I tmux के साथ उपयोग कर रहा हूं। कोई विचार? - ely
भविष्य tmux माउस उपयोगकर्ता: टाइपिंग से पहले आपको नीचे स्क्रॉल करने के लिए सहेजने के लिए, आप हिट कर सकते हैं q स्क्रॉल मोड से बाहर निकलने के लिए। - Jezen Thomas
माउस स्क्रॉलिंग इसके साथ ठीक काम करता है, लेकिन दुर्भाग्य से मैं अब टेक्स्ट का चयन करने के लिए माउस का उपयोग नहीं कर सकता। Tilda और tmux का उपयोग करना। - friederbluemle
ध्यान दें कि tmux 2.1 और ऊपर में, इसे प्रतिस्थापित किया गया है set -g mouse on, और स्क्रॉलिंग स्वचालित रूप से कॉपी मोड में प्रवेश नहीं करता है जैसा कि पहले किया गया था। - thrnio
महत्वपूर्ण नोट: यह सेटिंग टेक्स्ट को हाइलाइट करने और कॉपी करने में टूट जाती है। इस कार्यक्षमता को बनाए रखने के लिए Shift + क्लिक करें। - Shadoninja


मेरे .tmux.conf से:

# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

यह देशी xterm स्क्रॉलिंग सक्षम बनाता है।


128
2017-08-22 20:49



क्या आप समझा सकते हैं कि यह वास्तव में क्या करता है? - Ivo
मुझे नहीं पता कि यह क्या करता है, लेकिन यह शुद्ध प्रतिभा है। अंत में, tmux स्क्रॉलिंग काम करता है, हाँ! - oneself
यह ओएस एक्स पर मेरे लिए काम नहीं करता है ... - Nick
उपाय: gist.github.com/1297707 - Nick
अगर आप टोगडन के जवाब के बारे में उलझन में हैं तो इसे देखें: superuser.com/questions/310251/...   आईएमओ, यदि आपके पास केवल एक ही फलक है, तो यह समाधान स्वीकार किए गए उत्तर से बेहतर काम करता है। - thameera


नवीनतम tmux 2.1 के लिए, अपने माउस को सैटेलाइट से स्क्रॉल करने के लिए, यह सही उत्तर है:

set -g mouse on
" sane scrolling:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"

अपने .tmux.conf को पुनः लोड करने के लिए पर्याप्त नहीं है, आपको अपने tmux को पुनरारंभ करने की आवश्यकता है, उदा। tmux kill-server && tmux

से लिया गया https://github.com/tmux/tmux/issues/145


42
2017-12-01 16:09



यह स्वीकार्य उत्तर कैसे नहीं है? - Marcel
इस जवाब में नोट "बस पुनः लोड करने के लिए पर्याप्त नहीं है .tmux.conf मदद मिली" और मेरे लिए सभी tmux सत्रों से बाहर निकलने (शायद हत्या-सर्वर काम करेगा) मदद की! - Colin D
क्या आप इस बात पर विस्तार कर सकते हैं कि यह कैसे काम करता है? - oligofren
यह माउस ईवेंट को आगे बढ़ता प्रतीत होता है जब माउस क्लिक / स्क्रॉल / आदि होता है। यदि फलक किसी भी अप्रत्यक्ष / buffered स्थिति (बस कॉपी-मोड?) में है, और माउस एक बटन दबा रहा है, स्क्रॉलिंग, आदि। अंतिम भाग पहले अप्रत्यक्ष मोड में स्विच करके सीधे मोड में स्क्रॉलिंग को शामिल करता है। यदि उन नियंत्रणों के लिए नहीं है, तो टर्मिनल ईवेंट स्क्रॉलिंग के रूप में घटनाओं की व्याख्या कर सकता है, अगर बिलकुल भी। इसके साथ ही, मुझे नहीं पता कि मैं कभी भी अपने पेजर और विम को एक ही समय में सही ढंग से स्क्रॉल करने में सक्षम हूं, और मैंने स्निपेट्स के चारों ओर घूमने की कोशिश की है। - John P


मेरे मामले में, बस चुनना + ऊपर की ओर तीर तथा चुनना + नीचे का तीर ओएसएक्स पर


12
2018-04-17 03:43



@ fixer1234 सवाल लिनक्स का बिल्कुल उल्लेख नहीं करता है। tmux ओएस एक्स पर भी इस्तेमाल किया जा सकता है। - slhck
@ एसएलएचके: धन्यवाद। बहुत ब्लीरी आंखें; अस्थिरता में लात मारी गई। मैंने tmux टैग को लिनक्स टैग के रूप में गलत तरीके से पढ़ा था। - fixer1234


इस तरह मैंने इसे काम किया है, और कारणों से मुझे लगता है कि यह डिफ़ॉल्ट तरीके से बेहतर है।

इसे आज़माने के लिए, सभी कोड खंडों को अंदर रखें ~/.tmux.conf

चरण 1. उपसर्ग कुंजी बदलें ताकि आपको एक बिट तक पहुंचने की आवश्यकता न हो। 'बी' प्रतीत होता है कि यह एक करीबी कुंजी है, लेकिन यह दो इंडेक्स उंगलियों के बीच में है (क्रमशः 'एफ' और 'जे' पर)। चूंकि टीएमयूक्स में शॉर्टकट आवश्यक है, सी-जे बहुत बेहतर है क्योंकि इसमें शून्य हाथ आंदोलन शामिल है (कुंजी को मारने के अलावा)।

set -g prefix C-j
unbind C-b
bind C-j send-prefix

चरण 2. 'एस' (प्रतिलिपि दर्ज करने के लिए) है: 1) बंद करें (ऊपर जैसा ही कारण), 2) दूसरे हाथ (तुलना करें: मुक्केबाजी में 1-2, या ls निर्देशिका में फ़ाइलों को देखने के लिए आदेश), और 3) "स्क्रॉल" के लिए स्मारक के रूप में सोचा जा सकता है (हालांकि कॉपी-मोड केवल स्क्रॉलिंग के बारे में नहीं है)।

bind s copy-mode

चरण 3. अंतिम भाग, वास्तविक स्क्रॉलिंग। 'पी' और 'एन' इस उद्देश्य के लिए Emacs उपयोगकर्ताओं को परिचित हैं। वे करीब, अंतर्ज्ञानी ('पी' कीबोर्ड पर 'एन' से ऊपर हैं), और निमोनिक ("पिछला" और "अगला")। यदि आपने अभी Emacs में कुछ स्क्रॉलिंग की है, और फिर tmux पर जाएं, तो यह शॉर्टकट होने का अर्थ है।

हालांकि, मैंने पाया कि 'मैं' और 'के' भी बेहतर हैं - वे 'पी' और 'एन' से भी करीब हैं, और सहज (उसी कारण से); निमोनिक्स के लिए - जैसे स्क्रॉलिंग करना एक आम बात है, निमोनिक्स वास्तव में कोई फर्क नहीं पड़ता क्योंकि शॉर्टकट जल्द ही आपके दिमाग को बाईपास कर देगा और मांसपेशियों की स्मृति में प्रवेश करेगा।

bind -t emacs-copy 'p' scroll-up
bind -t emacs-copy 'n' scroll-down
bind -t emacs-copy 'i' scroll-up
bind -t emacs-copy 'k' scroll-down

10
2018-06-21 15:33





मैंने इस के लिए बहुत कुछ खोजा और मेरे लिए सबसे अच्छा समाधान इस विस्तृत मार्गदर्शिका में उल्लिखित कार्य करता है: http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

इन बाइंडिंग को ~ / .tmux.conf में जोड़ें:

set -g mode-mouse on

unbind +
bind + \
  new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
  swap-pane -s tmux-zoom.0 \;\
  select-window -t tmux-zoom

unbind -
bind - \
  last-window \;\
  swap-pane -s tmux-zoom.0 \;\
  kill-window -t tmux-zoom

उपर्युक्त दृष्टिकोण लागू होने के साथ, आप खिड़की से पैन में भी प्रतिलिपि बना सकते हैं जूमिंग पहले इस्तेमाल करने वाले प्रत्येक फलक में उपसर्ग  +

माउस मोड के साथ गायब होने वाला एक महत्वपूर्ण विवरण प्रेस करना है खिसक जाना कॉपी करने के लिए एक क्षेत्र का चयन करने से पहले। यह इसे tmux कॉपी बफर के बजाय पारंपरिक टर्मिनल बफर पर कॉपी करेगा। (https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues)


6
2018-03-31 00:42



अपने उत्तर की सराहना करें। लेकिन कई बार संदर्भित लिंक तोड़ सकते हैं। यहां आपके उत्तर का मुख्य भाग जोड़ने और संदर्भ के लिए लिंक प्रदान करना हमेशा फायदेमंद होगा। - Prasanna


मैं कोशिश करने की सिफारिश करता हूं tmux-बेहतर माउस मोड अपने अधिकांश tmux माउस संबंधित मुद्दों को हल करने के लिए प्लगइन।

यह टीएमयूक्स 2.1+ और नए के साथ संगत है set-option -g mouse on दृष्टिकोण।


5
2017-12-07 16:34



धन्यवाद, यह मेरे लिए सबसे अच्छा समाधान है। इसमें मेरे सभी माउस व्हील बाइंडिंग शामिल हैं जिन्हें मैंने मैन्युअल रूप से जोड़ा है (इसलिए मुझे अब उनकी आवश्यकता नहीं है), और दो हत्यारा-विशेषताएं हैं जिन्हें मैं बहुत चाहता था: scroll-without-changing-pane के साथ सम्मिलन में scroll-without-changing-pane तथा emulate-scroll-for-no-mouse-alternate-buffer। अब मेरा टीएमयूक्स उपयोग अनुभव रास्ता है, बेहतर तरीका है। - selurvedu


एकमात्र चीज जो मेरे लिए काम करती है वह निम्नलिखित में डाल रही है ~/.tmux.conf

# Allow xterm titles in terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

(इसे प्रभावी होने के लिए आपको रीबूट करने की आवश्यकता हो सकती है)

अद्यतन करें:

मैंने पाया कि यदि आप "xterm" से पुटी कनेक्शन> डेटा> टर्मिनल-टाइप में "पुटी" (कुछ स्वरूपण समस्याओं को ठीक करने के लिए उपयोग किया जाता है) में सेटिंग बदलते हैं तो यह समाधान काम करना बंद कर देता है।

अद्यतन 2:

यदि आप "पट्टी" को अपने टर्मिनल प्रकार के रूप में चाहते हैं तो इसका उपयोग करें: set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"


4
2017-10-28 10:59



यह वास्तव में आईफोन ऐप में भी मेरी स्क्रॉलिंग समस्या हल करता है। - NathaneilCapital
मैंने कोशिश की कि यह अब और काम नहीं कर रहा था, लेकिन यह काम किया। अजीब। set -ga terminal-overrides ',xterm*:smcup@:rmcup@' - phocks


यह मेरे लिए काम किया:

vim ~/.tmux.conf
set -g mode-mouse on      ###Insert this setting with vim, then source the file.
tmux source-file ~/.tmux.conf

1
2018-01-04 20:22