سؤال كيف يمكنني التمرير في tmux؟


لقد بدأت للتو باستخدام tmux ، وأحبها حقًا ، ولكنني بحاجة إلى التمرير داخل المخازن / الأجزاء / النوافذ التي أفتحها. لا يهمني إذا كان يعمل مع الماوس أم لا. عندما أبحث في صفحة رجل tmux ، أجد فقط مثيلين من الكلمة "scroll" حتى تظهر ، وكلاهما له علاقة بوضع النسخ. هل هناك طريقة للتمرير دون كل زيادة الدخول في وضع النسخ؟


1099
2017-11-10 18:40


الأصل


ما النفقات العامة التي تهتم بها؟ copy-mode هي طريقة عرض السجل (واختيار نسخ منه بشكل اختياري). - Chris Johnsen
بالنسبة لي يمكنك الضغط على f7 لوضع التمرير و q للإقلاع - JohnMerlino
set -g mode-mouse on الجواب لكل @ chaiyachaiya كان الفائز بالنسبة لي - Peter Berg


الأجوبة:


السيطرة-ب ثم [ ثم يمكنك استخدام مفاتيح التنقل العادية الخاصة بك للتمرير حول (على سبيل المثال سهم للاعلى أو صفحة الى الأسفل). صحافة ف لإنهاء وضع التمرير.

بدلا من ذلك يمكنك الضغط السيطرة-ب  صفحة الى الأعلى للانتقال مباشرة إلى وضع النسخ وتصفح صفحة واحدة (وهو ما يبدو وكأنك ستريد معظم الوقت)

في vi الوضع (انظر أدناه) ، يمكنك أيضًا التمرير إلى أعلى الصفحة لأسفل / لأسفل باستخدام سطر تحول-ك و تحول-ي (إذا كنت بالفعل في وضع التمرير). بدون تغيير ، يتحرك المؤشر بدلاً من الصفحة.

مقتطفات من صفحة رجل:

يمكن التحكم tmux من عميل متصل باستخدام تركيبة مفاتيح من مفتاح البادئة ، "C-b" (Ctrl-b) بشكل افتراضي ، متبوعًا بمفتاح أمر.

 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 ملزمة كمفتاح القيادة. راجع صفحة man للحصول على معلومات حول تهيئة أمر وضع النسخ مع تكرار العد.

يمكنك ضبط وضع الربط الرئيسي باستخدام السيطرة-ب، ثم

: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 key-bindings للتمرير حولها. هذا يبدو وكأنه الكثير من الخطوات لمجرد التمرير ، ولكن فوائد tmux لا تزال تفوق هذه المضايقات. أنا على ماك بوك وليس هناك مفتاح PageUp: - \. (أيضا ، كيف يمكنني جعل مفاتيح مع تخفيض السعر كما فعلت ، دينيس؟) - chadoh
chadoh: جرب هذه على ماك بوك الخاص بك: الصفحة الرئيسية: fn-LeftArrow؛ النهاية: fn-RightArrow ، صفحة لأعلى: fn-UpArrow؛ أسفل الصفحة: fn-DownArrow. لجعل keycaps: <kbd>Ctrl</kbd> - Dennis Williamson
على ماك بوك ، فإن fn + up يذهب مباشرة إلى التطبيق النهائي ولن يصل إلى tmux أبدًا - Tyler
على جهاز Macbook إذا كنت في وضع التمرير ، يمكنك استخدام 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 هو الكمال.

عملي tmux لديه المزيد من المعلومات حول ملفات tmux.conf.


248
2017-11-25 13:05



عندما أفعل هذا ، فإن النقر بالماوس والتمرير يتسبب في طباعة أحرف الهراء إلى منطقة الموجه من الوحدة الطرفية التي أستخدمها مع tmux. أيه أفكار؟ - ely
مستخدمو tmux المستقبل في المستقبل: لتتمكن من حفظ التمرير إلى الأسفل مرة أخرى قبل الكتابة ، يمكنك النقر qللخروج من وضع التمرير. - Jezen Thomas
يعمل التمرير بالماوس بشكل جيد مع هذا ، ولكن للأسف لا يمكنني استخدام الماوس لتحديد النص بعد الآن. باستخدام تيلدا و tmux. - friederbluemle
لاحظ أنه في tmux 2.1 وما فوق ، يتم استبدال هذا set -g mouse onولا يؤدي التمرير إلى إدخال وضع النسخ تلقائيًا كما كان من قبل. - thrnio
ملاحظة مهمة: يكسر هذا الإعداد تمييز النص ونسخه. استخدم shift + click للحفاظ على هذه الوظيفة. - Shadoninja


من بلدي. tmux.conf:

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

يتيح هذا التمرير xterm الأصلي.


128
2017-08-22 20:49



هل يمكنك شرح ما يفعله هذا بالضبط؟ - Ivo
لا أعرف ماذا يفعل ، لكنها عبقرية نقية. وأخيرا ، يعمل التمرير tmux ، ياي! - oneself
هذا لا يعمل بالنسبة لي على OS X ... - Nick
حل: gist.github.com/1297707 - Nick
تحقق من ذلك إذا كنت محتارًا حول إجابة توجدون: superuser.com/questions/310251/...   IMO ، إذا كان لديك جزء واحد فقط ، يعمل هذا الحل بشكل أفضل من الإجابة المقبولة. - 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
يبدو لإعادة توجيه أحداث الماوس عند النقر فوق الماوس / التمرير / إلخ. إذا كان الجزء في أي حالة غير مباشرة / مخزنة (مجرد وضع النسخ؟) ، والماوس يضغط على زر ، والتمرير ، وما إلى ذلك. يغطي الجزء الأخير التمرير في الوضع المباشر عن طريق التبديل إلى وضع غير مباشر أولاً. إن لم يكن لهذه الضوابط ، فإن المحطة الطرفية قد تفسر الأحداث على أنها تمرير محفوظات ، على سبيل المثال. مع ذلك ، لا أعرف ما إذا كنت قادراً على الحصول على جهاز النداء الخاص بي و Vim للتمرير بشكل صحيح في نفس الوقت ، وحاولت مجموعة من المقتطفات تتجول. - John P


في حالتي ، فقط يختار، يقرر + سهم للاعلى و يختار، يقرر + السهم لأسفل على OSX.


12
2018-04-17 03:43



@ fixer1234 السؤال لا يذكر لينكس على الإطلاق. tmux يمكن استخدامها على OS X أيضًا. - slhck
slhck: شكرًا. شديد الغضب العينين. بدأ الاستجماتيزم. أخطأت في قراءة علامة tmux كعلامة linux. - fixer1234


هذه هي الطريقة التي جعلتها تعمل ، والأسباب التي تجعلني أعتقد أنها أفضل من الطريقة الافتراضية.

لتجربتها ، ضع جميع أقسام الرمز في ~/.tmux.conf.

الخطوة 1. تغيير مفتاح البادئة حتى لا تضطر إلى الوصول إلى بت واحد. يبدو أن الحرف 'B' هو مفتاح قريب ، ولكنه في منتصف الأصابع السباعية (عند 'F' و 'J' ، على التوالي). نظرًا لأن هذا الاختصار ضروري في tmux ، فإن C-j أفضل كثيرًا لأنه يشتمل على حركة يد صفرية (بصرف النظر عن ضرب المفتاح).

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

الخطوة 2. "S" (للدخول إلى وضع النسخ) هو: 1) إغلاق (نفس السبب على النحو الوارد أعلاه) ، 2) ينطوي على جهة أخرى (قارن: 1-2 في الملاكمة ، أو ls يمكن اعتبار الأوامر لعرض الملفات في دليل) ، و 3) بمثابة ذاكري ل "التمرير" (على الرغم من أن وضع النسخ ليس مجرد التمرير).

bind s copy-mode

الخطوة 3. الجزء الأخير ، التمرير الفعلي. "P" و "N" مألوفان لهذا الغرض لمستخدمي Emacs. فهي قريبة ، بديهية ('P' فوق 'N' على لوحة المفاتيح) ، و mnemonic ("السابق" و "التالي"). إذا كنت قد قمت ببعض التمرير في Emacs ، ثم انتقل إلى tmux ، فمن المنطقي أن يكون لديك تلك الاختصارات.

ومع ذلك ، وجدت أن 'I' و 'K' أفضل من ذلك - فهما أقرب من P و N ، وبديهية (لنفس السبب) ؛ أما بالنسبة لأساليب فن الإستذكار - كما التمرير هو شيء شائع للقيام به ، لا يهم فن الإستذكار حقا لأن الاختصارات ستتجاوز عقلك قريبا وتدخل الذاكرة العضلية.

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 الخاصة بك.

إنه متوافق مع 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. الآن تجربة استخدام tmux هي الطريقة ، بطريقة أفضل. - selurvedu