Tmux කවුළුව කවුළුව වෙත ගෙන යාම


241

මට බහු කවුළු ඇති විට, පවතින කවුළුව tmux හි වෙනත් කවුළුවකට ගෙන යන්නේ කෙසේද?

මම තිරයෙන් එනවා , එහිදී මට කවුළුව වෙත මාරුවිය හැකි අතර පසුව මට අවශ්‍ය එකක් ලබා ගන්නා තෙක් කවුළු මාරු කරන්න; tmux මෙයට ඉඩ දෙන බවක් නොපෙනේ.

Answers:


221

මෙය කිරීමට විධානය join-panetmux 1.4 හි ඇත.

join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]  
    (alias: joinp)
    Like split-window, but instead of splitting dst-pane and creating
    a new pane, split it and move src-pane into the space.  This can
    be used to reverse break-pane.

මෙය සරල කිරීම සඳහා, ඒ සඳහා මා තුළ මෙම බන්ධන තිබේ .tmux.conf:

# pane movement
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

පළමුවැන්න ඉලක්ක කවුළුවෙන් කවුළුව අල්ලා එය ධාරාවට සම්බන්ධ කරයි, දෙවැන්න ප්‍රතිලෝම කරයි.

සැසිය තුළ සිට පහත සඳහන් දෑ ක්‍රියාත්මක කිරීමෙන් ඔබට ඔබේ tmux සැසිය නැවත පූරණය කළ හැකිය:

$ tmux source-file ~/.tmux.conf

මම මෙම ක්‍රමය උත්සාහ කරමි, නමුත් මම ඔබේ කේතය මගේ .tmux.conf ගොනුවට දමා Ctrl-b, j කරන විට කිසිවක් සිදු නොවන බව පෙනේ.
mrlanrat

2
පසුව පහර: ඔබ කවුළු වශයෙන් 2 එක් එක් යුවළක් ඵලවිපාක සමග, විවෘත අවශ්ය Prefix+sහා එම විමසුමේදී කවුළුව නම ඇතුලත් බව කවුළුව කවුළුව යැවීමට ...
jasonwryan

මට තවමත් මේ ගැන කිසිදු වාසනාවක් නැත, කිසිවක් සිදු නොවේ. මට දැනෙන්නේ tmux .tmux.conf ගොනුව කියවන්නේ නැති නිසා එය Ctrl-b, j හෝ Ctrl-b, s වලට කිසිසේත් ප්‍රතිචාර නොදක්වන බැවිනි. (වින්‍යාස ගොනුවේ ඇති එකම පේළි 2
මේවායි

8
rmrlanrat ඔබ කවුළු අංකය මහා බඩවැලක් සමඟ උපසර්ගය කළ යුතු බව මට පෙනී ගියේය. මගේ පිළිතුර පහතින් බලන්න.
බ un නෝ බ්‍රොනොස්කි

2
'%%' යන්නෙන් අදහස් කරන්නේ කුමක්ද?
ඔලිගෝෆ්‍රන්

167

join-pane යනු පිළිතුරයි. Tmux ප්‍රලේඛනය මත පදනම්ව එය භාවිතා කිරීමට මා දැරූ උත්සාහයන් පිළිබඳව මටද ගැටළු ඇති විය. මම ඒ සොයා -tහා -sස්විච පිළිගැනීමට පෙනේ [session]:windowනොව [session:]window. එනම් සැසිය නියම කිරීම අත්‍යවශ්‍ය නොවන නමුත් එය ඇතුළුව :අනිවාර්ය වේ. (මම භාවිතා කරන්නේ tmux 1.5)

එමනිසා, වත්මන් කවුළුවට කවුළුවක් එක් කර කවුළුව 1 කවුළුව තුළට තැබීම සඳහා, විධානය වනුයේ ( Ctrl+ Bහෝ ඔබේ බන්ධන යතුර කුමක් වුවත්, පසුව) ...

:join-pane -s :1

පෙරනිමියෙන් ඔබට ඒවා බිඳ දැමිය හැකිය: Ctrl+ B !ඔබට එය කෙටිමඟකට බැඳීමට අවශ්‍ය නම්, මම යෝජනා කරන්නේ s වැනි පෙරනිමි බන්ධනයක් ඉක්මවා නොයන ලෙසයි, මන්ද යත්, පාරේ බැස යන විට පිළිතුරක් සඳහා ඔබ අන්තර්ජාලය දෙස බලනු ඇත. තේරීම්-සැසිය ඇතුළත් වන අතර එය ඔබේ පද්ධතියේ ක්‍රියා නොකරනු ඇත. බ්‍රේක්-කවුළුව බැඳී ඇති !අතර @එය ඒ අසලම ඇති අතර පෙරනිමියෙන් කිසිම දෙයකට බැඳී නැත. එම හේතුව නිසා මම මෙම බැඳීම යෝජනා කරමි ...

bind-key @ command-prompt -p "create pane from:"  "join-pane -s ':%%'"

විකල්පයක් ලෙස, අන්තර්ක්‍රියාකාරී තේරීමක් කිරීමට ...

bind-key   @ choose-window 'join-pane -h -s "%%"'
bind-key C-@ choose-window 'join-pane    -s "%%"'

විකල්පයක් ලෙස, සැමවිටම මෑතකදී පැමිණි කවුළුවට සම්බන්ධ වීමට ...

bind-key @ join-pane -h -s !

සටහන: -hප්‍රතිලෝම වන පෙරනිමි හැසිරීමට වඩා එය තිරස් අතට (සිරස් බෙදීමක් සහිතව) කවුළු සිරස් කිරීමට හේතු වේ.

වැදගත්ම දෙය නම් ඔබ කෙටිමං තෝරා ගන්නා ඕනෑම දෙයක් ඉගෙන ගන්න. මන්ද ඔබ එය සකසා එය අමතක කළහොත්, ඔබ විදේශීය සේවාදායකයක් සොයාගත් විට ඔබ විහිළුවට පත්වනු ඇත. ටර්මිනල් බහුමාපකය ඔබට ලබා දෙන වැදගත්ම දෙය දුරස්ථ සේවාදායකවල විශ්වාසදායක සැසි වේ.

මෙය GNU Screen සිට Tmux වෙත මගේ පරිවර්තනය සම්පූර්ණ කරයි. මම කවදාවත් ආපසු හැරී බලන්නේ නැහැ.

විනෝද වන්න!


2
මට ':' ද මග හැරී ඇත ... මේ සඳහා ස්තූතියි.
රාස්කෝලිං

මෑතකදී මට මේ සඳහා ඡන්ද 2 ක් ලැබුණි. එය රළු හා ෆොස් විරෝධී සංස්කෘතියකි.
බ un නෝ බ්‍රොනොස්කි

1
ලියකියවිලි කොලොන් ගැන කිසිසේත් කතා නොකරයි! නියමයි
ජොනීරා

2
තිත් සින්ටැක්ස් භාවිතා කිරීම මට window.paneඋදාහරණයක් ලෙස join-pane -s 1.0කවුළු 1 හි කවුළුව 0 වත්මන් කවුළුව තුළට ගෙන යාමට උපකාරී විය . වැඩි විස්තර maciej.lasyk.info/2014/Nov/19/tmux-join-pane
mbigras

2
Tmux 2.1 වන විට, :පෙනෙන ආකාරයට තවදුරටත් අවශ්‍ය නොවේ (උදා: කරන්න :join-pane -s 1). සමහර විට එය පෙර සංස්කරණවල දෝෂයක් විය හැකිය
villapx

45

මම හිතන්නේ මම කවුළු ඔවුන්ගේ කවුළුවට ගෙනයාමට වඩා හොඳට කැමතියි. මම පාවිච්චි කරනවා

break-pane -t :

මම එය අත්හදා බැලීම් තුළින් හදුනා ගත්තෙමි, නමුත් එය ඉතා හොඳින් ක්‍රියාත්මක වන බව පෙනේ. ඔබට පහසුවෙන් යතුරු බැඳීමට හෝ අන්වර්ථ කිරීමට හැකිය, ස්ක්‍රිප්ටින් අවශ්‍ය නොවේ.


2
+1. මම මෙය බොහෝ විට භාවිතා කිරීමට නැඹුරු වෙමි join-pane.
ක්‍රිස් බී

1
just wow .......
vdegenne

15

යතුරු බන්ධනය

සුපුරුදු පරිදි, Ctrl+ b, !ඇත බිඳ නව කවුළුවක බවට ක්රියාකාරී කවුළුව හා එය මාරු.

කොහෙද Ctrl+ bයනු සඳහා පෙරනිමි උපසර්ගයයි .

විස්තර

මෙම tmuxවිධානය මඟින් මෙය ප්රධාන ඉටු වේ break-pane: (හෙවත් breakpක්රියාත්මක ලෙස) cmd-break-pane.cහා සුපුරුදු ලෙස බැඳී ප්රධාන-bindings.c දක්නට ලෙස list-keys: (හෙවත් lskවිධානය ප්රතිදානය):

bind-key    -T prefix       !                 break-pane

14

ඔබට කවුළු අනන්‍යතාවය විමසුමට ටයිප් කිරීමට අවශ්‍ය නැතිනම් ඔබටද භාවිතා කළ හැකිය

bind-key j "join-pane -s !"

එය වත්මන් කවුළුව වෙත අවසන් ක්‍රියාකාරී කවුළුව / කවුළුව සමඟ සම්බන්ධ වේ.


1
ඔබ භාවිතා කරන්නේ කුමන අනුවාදයද? මම unknown command: join-pane -s !1.6 සමඟ එනවා .
පැරඩ්‍රොයිඩ්

මෙහි 2.0 භාවිතා කිරීම, නමුත් උපුටා දැක්වීම් නොමැතිව රේඛාව කොන්ෆරයට දැමීම හොඳින් ක්‍රියාත්මක වන බව පෙනේ. bind-key j join-pane -s !
bkzland

14

අනෙක් පිළිතුරු සොයා බලා tmux man පිටුව බැලීමෙන් පසු මම දැන් පහත සඳහන් බැඳීම් මත නිරාකරණය කළෙමි:

bind-key S choose-window 'join-pane -v -s "%%"'
bind-key V choose-window 'join-pane -h -s "%%"'

සම්බන්ධ වීමට කවුළුව අන්තර්ක්‍රියාකාරීව තෝරා ගැනීමට මෙය ඔබට ඉඩ සලසයි, නව සිරස් / තිරස් බෙදීම් නිර්මාණය කිරීම සඳහා මගේ කුඩා අකුරු s/ vබන්ධන පිළිබිඹු කරයි. කවුළු වෙනුවට තනි කවුළු තෝරා ගන්නේ කෙසේදැයි යමෙක් දන්නේ නම් මට දන්වන්න.


මෙය ඉතා ප්රයෝජනවත් වේ. ඔබට ස්තුතියි. අවාසනාවට -vසහ -hපිළිවෙලින් සිරස් සහ තිරස් "බෙදීම්" සාදන්න එපා. ඔවුන් පිළිවෙලින් සිරස් සහ තිරස් "සිරස් කවුළු " නිර්මාණය කරයි. (එනම් සිරස් අතට සිරස්ව ඇති කවුළුවල තිරස් බෙදීමක් ඇති බව කියැවේ.) එබැවින් ඔබේ මොළය ඒ ආකාරයෙන් පුහුණු කළ යුතුය. -vපෙරනිමිය ද වේ, එබැවින් මම එය අත්හැර දමා එහි පමණක් තබන්නෙමි -hඑවිට ඔබේ ~/.tmux.confක්‍රියාවන් ඔබ බැලීමට වංචා පත්‍රයක් ලෙස ක්‍රියා කරයි.
බ un නෝ බ්‍රොනොස්කි

"බ්‍රේක්-පෑනේ ප්‍රතිවිරුද්ධ" සඳහා වන අනෙක් පිළිතුරු වලට වඩා මම මෙය වඩා කැමතියි. තාවකාලිකව තමන්ගේම කවුළුව තුළට කවුළුවක් කැඩී ගිය පසු, පසුව මට එය නැවත පැරණි කවුළුවකට යැවීමට අවශ්‍ය වන අතර මෙය හසුරුවයි.
ස්ටේබල්ඩෝග්

4

ඔබේ යතුරු බන්ධන වෙනස් කිරීමට ඔබට අවශ්‍ය නැත.

ඔබ ගෙනයාමට අදහස් කවුළුව අවධානය යොමු කර ඇති මුත් ටයිප් උපසර්ගය පසුව :join-pane -t :1එහිදී 1ගමනාන්තය කවුළු අංකය එම සැසිය තුළ ඕනෑම දෙයක් වේ. එහි නම වැනි පෙර සූදානමකින් ඔබට එය වෙනත් සැසියකට ගෙන යා හැකිය project:3. මට join-paneටැබ්-ස්වයංක්‍රීයව j.

ගමනාන්තය තුළ නිර්මාණය කරන ලද නව භේදයේ දිශානතිය සැකසීමට විධානයකට එක් කරන්න -hහෝ -vමාරු කරන්න , නැතහොත් එය වෙත ගොස් නැවත සකස් කිරීම සඳහා උපසර්ගය + spaceයන්න.

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.