මම tmux හි අනුචලනය කරන්නේ කෙසේද?


1434

මම දැන් tmux භාවිතා කිරීම ආරම්භ කළ අතර, මම එයට ඇත්තෙන්ම කැමතියි, නමුත් මා විවෘත කර ඇති බෆර / කවුළු / කවුළු තුළට අනුචලනය කිරීමට මට හැකියාව තිබිය යුතුය. එය මූසිකය සමඟ ක්‍රියා කරයිද නැද්ද යන්න මට ප්‍රශ්නයක් නොවේ. මම tmux man පිටුව සෙවූ විට, "අනුචලනය" යන වචනයේ අවස්ථා දෙකක් පමණක් පෙන්වන අතර, දෙකම පිටපත් මාදිලිය සමඟ කළ යුතුය. පිටපත් ප්‍රකාරයට ඇතුළු වීමේ සියලු මූලික කරුණු නොමැතිව අනුචලනය කිරීමට ක්‍රමයක් තිබේද?


8
ඔබ සැලකිලිමත් වන්නේ කුමන පොදු කාර්ය සඳහාද? copy-modeඉතිහාසය බැලීමේ ක්‍රමයයි (සහ විකල්පයක් ලෙස එයින් පිටපත් කරන්න).
ක්‍රිස් ජොන්සන්

2
මට ඔබට අනුචලන මාදිලිය සඳහා f7 ද, ඉවත්වීමට q ද
එබිය හැකිය

8
set -g mode-mouse onper @ chaiyachaiya ගේ පිළිතුර මට ජයග්‍රාහකයා විය
පීටර් බර්ග්

ධාවනය කරන්න: echo "set -g mouse on" >> ~/.tmux.confඑවිට ඔබට අනුචලනය කළ හැකිය.
නොම් මනෝස්

Answers:


1725

Ctrl- bඑවිට [ඔබට ඔබේ සාමාන්‍ය සංචාලන යතුරු වටා අනුචලනය කළ හැකිය (උදා. Up Arrowහෝ PgDn). qඅනුචලන ප්‍රකාරයෙන් ඉවත් වීමට ඔබන්න .

විකල්පයක් ලෙස ඔබට එබිය හැකිය Ctrl- b PgUpකෙලින්ම පිටපත් ප්‍රකාරයට ගොස් එක් පිටුවක් ඉහළට අනුචලනය කරන්න (ඔබට බොහෝ විට අවශ්‍ය වනු ඇති බව පෙනේ)

දී viමාදිලිය (පහත බලන්න), ඔබ ද අනුචලන පිටුව ඉහළ / මාර්ගය විසින් රේඛාව භාවිතා පහළ හැකි Shift- kහා Shift- j(ඔබ අනුචලන මාදිලිය දැනටමත් ඉන්නේ නම්). වෙනස් නොකළ, කර්සරය පිටුව වෙනුවට චලනය වේ.

මෑන් පිටුවෙන් උපුටා ගැනීම් :

පෙරනිමියෙන් 'C-b' (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විධානය ප්රධාන ලෙස බැඳී ඇත. නැවත නැවත ගණනය කිරීමක් සමඟ පිටපත් මාදිලියේ විධානයක් සැකසීම පිළිබඳ තොරතුරු සඳහා man පිටුව බලන්න.

ඔබට යතුරු බන්ධන ප්‍රකාරය සැකසිය හැකිය Ctrl- b, ඉන්පසු

:set-window-option mode-keys emacs

හෝ vi.


15
මම හිතන්නේ C-b =වේ choose-bufferපෙරනිමියෙන්. ඔබ අදහස් කළේ C-b [( copy-modeපෙරනිමියෙන්)? C-b PageUpපෙර පිටුවෙහි කෙලින්ම පිටපත් කිරීමේ මාදිලිය ආරම්භ කිරීමටද ඔබට භාවිතා කළ හැකිය (ඔබට බැලීමට / පිටපත් කිරීමට අවශ්‍ය දේ ඔබ දන්නා විට ඉතා පහසුය, වත්මන් පිටුවෙන් දැනටමත් අනුචලනය වී ඇත).
ක්‍රිස් ජොන්සන්

4
නිවැරදි, මගේ tmux හි අනුචලන මාදිලියක් නොමැත. ඔබට C-b [පිටපත් ප්‍රකාරයට ඇතුළු විය යුතු අතර පසුව අනුචලනය කිරීමට ඊමාක්ස් හෝ vi යතුරු බන්ධන භාවිතා කරන්න. මෙය අනුචලනය කිරීම සඳහා බොහෝ පියවරයන් සේ පෙනේ, නමුත් tmux හි ප්‍රතිලාභ තවමත් මෙම කරදර වලට වඩා වැඩිය. මම මැක්බුක් එකක සිටින අතර පේජ්අප් යතුරක් නොමැත: - \. (එසේම, ඩෙනිස්, ඔබ කළාක් මෙන්
මාක් ඩවුන්

46
@chadoh: ඔබේ මැක්බුක්හි මේවා උත්සාහ කරන්න: මුල් පිටුව: fn-LeftArrow; අවසානය: fn-RightArrow; පිටුව ඉහළට: fn-UpArrow; පිටුව පහළට: fn-DownArrow. යතුරු පුවරු සෑදීම සඳහා:<kbd>Ctrl</kbd>
වැඩිදුර දැනුම් දෙන තුරු විරාමය.

5
මැක්බුක් හි, fn + up කෙලින්ම ටර්මිනල් යෙදුමට යන අතර කිසි විටෙකත් tmux වලට පහර දෙන්නේ නැත
ටයිලර්

16
මැක්බුක් එකක ඔබ අනුචලන මාදිලියේ සිටී නම් ඔබට පිටුවක් අනුචලනය කිරීමට fn + Shift + LeftArrow භාවිතා කළ හැකිය.
නික් හැමන්ඩ්

349

හොඳයි, අනුචලනය සැකසීමට නිසි ක්‍රමය ඔබ සලකා බැලිය යුතුය: ඔබේ එකතු කරන්න 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 ගොනු පිළිබඳ වැඩි විස්තර ඇත.


5
මම මෙය කරන විට, මූසික ක්ලික් කිරීම් සහ අනුචලන නිසා මම tmux සමඟ භාවිතා කරන පර්යන්තයේ ක්ෂණික ප්‍රදේශයට අකුරු අකුරු මුද්‍රණය වේ. අදහස් තිබේද?
ely

26
අනාගත tmux මූසික භාවිතා කරන්නන්: ටයිප් කිරීමට පෙර නැවත පහළට අනුචලනය කිරීම සුරැකීමට, ඔබට qඅනුචලන ප්‍රකාරයෙන් පිටවීමට පහර දිය හැකිය .
ජෙසන් තෝමස්

17
මවුස් අනුචලනය මේ සමඟ හොඳින් ක්‍රියා කරයි, නමුත් අවාසනාවකට මට තවදුරටත් පෙළ තේරීමට මූසිකය භාවිතා කළ නොහැක. Tilda සහ tmux භාවිතා කිරීම.
friederbluemle

31
වැදගත් සටහන: මෙම සැකසුම පෙළ ඉස්මතු කිරීම සහ පිටපත් කිරීම බිඳ දමයි. මෙම ක්‍රියාකාරීත්වය පවත්වා ගැනීමට shift + ක්ලික් කරන්න.
ෂඩොනින්ජා

2
1) අපට තවදුරටත් ක්ලික් කිරීම් භාවිතයෙන් පෙළ තෝරාගත නොහැක 2) අපට vim වෙත අනුචලනය කළ නොහැක
pltrdy

149

මගේ .tmux.conf වෙතින්:

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

මෙය ස්වදේශීය xterm අනුචලනය සක්‍රීය කරයි.


31
මෙය හරියටම කරන්නේ කුමක්දැයි ඔබට පැහැදිලි කළ හැකිද?
අයිවෝ

11
එය කරන්නේ කුමක්දැයි මම නොදනිමි, නමුත් එය පිරිසිදු බුද්ධියකි. අවසාන වශයෙන්, tmux අනුචලනය ක්‍රියා කරයි, ඔව්!
දුරු වීම යනු,

6
OS X හි මෙය මට වැඩ නොකරයි ...
නික්

17
විසඳුම: gist.github.com/1297707
නික්

6
ටොග්ඩන්ගේ පිළිතුර පිළිබඳව ඔබ ව්‍යාකූල වී ඇත්දැයි බලන්න: superuser.com/questions/310251/… IMO, ඔබට ඇත්තේ තනි කවුළුවක් නම්, මෙම විසඳුම පිළිගත් පිළිතුරට වඩා හොඳින් ක්‍රියා කරයි.
thameera

63

නවතම 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 වෙතින් ලබාගෙන ඇත


2
මෙය පිළිගත් පිළිතුර නොවන්නේ කෙසේද?
මාසෙල්

2
මෙම පිළිතුරේ ඇති සටහන "හුදෙක් නැවත පූරණය කිරීමට ප්‍රමාණවත් නොවීම .tmux.conf උදව් විය" සහ මා වෙනුවෙන් සියලුම tmux සැසි වලින් පිටවීම (සමහර විට kill ාතන සේවාදායකය ක්‍රියා කරයි) උදව් විය!
කොලින් ඩී

2
මෙය ක්‍රියාත්මක වන ආකාරය ඔබට විස්තර කළ හැකිද?
ඔලිගොෆ්‍රන්

මූසිකය ක්ලික් කළ විට / අනුචලනය කළ විට / යනාදිය මූසික සිදුවීම් ඉදිරියට යැවීමට පෙනේ. කවුළුව කිසියම් වක්‍ර / ස්වාරක්ෂක තත්වයක පවතී නම් (පිටපත් කිරීමේ මාදිලියද?), සහ මූසිකය බොත්තමක් එබීම, අනුචලනය කිරීම යනාදිය වේ. අවසාන කොටස පළමුව වක්‍ර ප්‍රකාරයකට මාරුවීමෙන් සෘජු ප්‍රකාරයේදී අනුචලනය කරයි. එම පාලනයන් සඳහා නොවේ නම්, පර්යන්තය විසින් සිදුවීම් ඉතිහාසය අනුචලනය ලෙස අර්ථ දැක්විය හැකිය. ඒ සමඟම, මගේ පේජරය සහ විම් එකම වේලාවක නිවැරදිව අනුචලනය කිරීමට මට හැකි වී ඇත්දැයි මම නොදනිමි, මම අවට ඇති කුඩා කොටස් කිහිපයක් උත්සාහ කර ඇත්තෙමි.
ජෝන් පී

3
@chefarov - වෙනත් පිළිතුරක් පිළිබඳ අදහස් දැක්වීමකට, ඔබට Shift+clickමූසික ප්‍රකාරය ක්‍රියාත්මක වූ විට මෙය කළ හැකිය .
බ්‍රෙන්ඩන් මුවර්

16

මගේ නඩුවේදී, OSX හි opt+ UpArrowසහ opt+ පමණි DownArrow.


@ fixer1234 ප්‍රශ්නය ලිනක්ස් ගැන කිසිසේත් සඳහන් නොකරයි. tmuxOS X හි ද භාවිතා කළ හැකිය.
slhck

@slhck: ස්තූතියි. අධික ලෙස ඇස් ඇති; මම tmux ටැගය ලිනක්ස් ටැගයක් ලෙස වැරදියට කියවා ඇත්තෙමි.
fixer1234

13

මෙය මා විසින් ක්‍රියාවට නැංවූ ආකාරය වන අතර එය පෙරනිමි ක්‍රමයට වඩා හොඳ යැයි මා සිතන හේතු වේ.

එය අත්හදා බැලීමට, සියලු කේත කොටස් දමන්න ~/.tmux.conf.

පියවර 1. උපසර්ග යතුර වෙනස් කරන්න එවිට ඔබට එක තැනකට යා යුතු නොවේ. 'බී' යනු සමීප යතුරක් බව පෙනේ, නමුත් එය දර්ශක ඇඟිලි දෙක මැද (පිළිවෙලින් 'එෆ්' සහ 'ජේ'). එම කෙටිමං tmux හි අත්‍යවශ්‍ය වන හෙයින්, Cj වඩා හොඳ වන්නේ එය ශුන්‍ය අත් චලනයකට සම්බන්ධ වන හෙයිනි (යතුරට පහර දීම හැර).

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. අවසාන කොටස, සත්‍ය අනුචලනය. 'පී' සහ 'එන්' මෙම අරමුණු සඳහා ඊමාක්ස් පරිශීලකයින්ට හුරු පුරුදුය. ඒවා සමීප, බුද්ධිමත් ය (යතුරුපුවරුවේ 'පී' ඉහළින් 'එන්'), සහ සිහිවටන ("පෙර" සහ "ඊළඟ"). ඔබ ඊමාක්ස් හි අනුචලනය කිරීමක් කර 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

8

මම මේ සඳහා බොහෝ දේ සොයා බැලූ අතර මෙම සවිස්තරාත්මක මාර්ගෝපදේශයේ සඳහන් පරිදි මට හොඳම විසඳුම ක්‍රියාත්මක වේ: 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

ඉහත ප්‍රවේශය ක්‍රියාත්මක කිරීමත් සමඟ, කවුළුවක ඇති කවුළුවලින් පිටපත් කළ හැකි අතර, එක් එක් කවුළුව තුළට විශාලනය කිරීමෙන් පළමුව උපසර්ගය + භාවිතා කරන්න .

මූසික ප්‍රකාරය සමඟ නැතිවූ එක් වැදගත් විස්තරයක් නම් පිටපත් කිරීමට ප්‍රදේශයක් තෝරා ගැනීමට පෙර Shift ඔබන්න . මෙය tmux පිටපත් බෆරය වෙනුවට සාම්ප්‍රදායික පර්යන්ත බෆරයට පිටපත් කරනු ඇත. ( https://wiki.archlinux.org/index.php/Tmux#Scroll_issues )


8

ඔබගේ tmux මූසිකය හා සම්බන්ධ බොහෝ ගැටලු විසඳීම සඳහා tmux-better-mouse-mode ප්ලගිනය උත්සාහ කර බැලීමට මම නිර්දේශ කරමි .

එය Tmux 2.1+ හා නව set-option -g mouse onප්‍රවේශය සමඟ අනුකූල වේ.


1
ස්තූතියි, මෙය මට හොඳම විසඳුමයි. එය මා අතින් එකතු කළ මගේ මවුස් රෝද බන්ධන සියල්ලම ආවරණය කරයි (එබැවින් මට ඒවා තවදුරටත් අවශ්‍ය නොවේ), සහ මට බෙහෙවින් අවශ්‍ය වූ ler ාතක ලක්ෂණ දෙකක් තිබේ: සහ scroll-without-changing-paneසමඟ . දැන් මගේ tmux භාවිත අත්දැකීම මාර්ගය, මාර්ගය වඩා හොඳය. scroll-without-changing-paneemulate-scroll-for-no-mouse-alternate-buffer
selurvedu

7

මට වැඩ කරන එකම දෙය පහත සඳහන් දෑ ඇතුළත් කිරීමයි ~/.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"


2
මෙය ඇත්ත වශයෙන්ම iPhone යෙදුමේ මගේ අනුචලන ගැටළුව විසඳයි.
නතානයිල් කැපිටල්

මම උත්සාහ කළ නවතම දෙය මෙය තවදුරටත් ක්‍රියාත්මක නොවේ, නමුත් මෙය ක්‍රියාත්මක විය. අමුතු. set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
phocks

6

මෙය මට ප්‍රයෝජනවත් විය:

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

3
2.1 අනුවාදය (2015 ඔක්තෝබර් 18) සිට විකල්පය විය යුතුයset -g mouse on
naoko

1
වින්‍යාස ගොනුවේ සම්පූර්ණ මාර්ගය සැබවින්ම සැපයීම සඳහා +1. i චයියාචියාගේ පිළිතුර වෙනත් ආකාරයකින් පරිපූර්ණ වනු ඇත.
ජෝන් මැක්ෆාර්ලන්

4

FWIW, මැක්බුක් / ඕඑස්එක්ස් මොජාවේ, පසු ctrl+[කරන්න:

  • up arrow පෙළගැස්වීම සඳහා
  • down arrow පේළිය පහළට
  • fn + up arrow පිටුව ඉහළට
  • fn + down arrow පිටුව පහළට
  • q දර්ශන ප්‍රකාරයෙන් ඉවත් වීමට

-2
  • Ctrl+ A- අනුචලනය ආරම්භ කිරීමට
  • Ctrl+ C- අනුචලනය නැවැත්වීමට

3
මෙම ලිපිය ඉතා කෙටි බැවින් ප්‍රශ්නයට ප්‍රයෝජනවත් ලෙස පිළිතුරු දිය නොහැක. දැනටමත් පළ කර ඇති පිළිතුරු සඳහා එය ඉතා සුළු තොරතුරු ප්‍රමාණයක් එක් කරයි; එය අනුචලනය කරන්නේ කෙසේද යන්න ගැන කිසිවක් නොකියයි (පිටපත් ප්‍රකාරයට හා පිටතට වෙනස් වන්නේ කෙසේද යන්න පමණි). එසේම, පෙරනිමි විධාන උපසර්ග යතුරු සංයෝජනය Ctrl-B( Ctrl-AGNU තිරය සඳහා පෙරනිමිය වේ).
ඇන්තනි ජෝජෙගන්

2
මෙම පිළිතුරේ කතුවරයා පවා ප්‍රශ්නය තේරුම් ගෙන ඇත්දැයි විශ්වාස නැත. එය උදව්වක් සහ වැරදියි.
වික්

2
මම මෙතරම් කාලයක් තිස්සේ අනුචලනය කිරීම නවත්වන්නේ කෙසේදැයි සොයමින් සිටියෙමි, එය පෙන්වා දීමට ස්තූතියි!
PERR0_HUNTER
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.