การทำเช่นนี้เป็นไปได้หรือไม่ที่จะย้ายคำสั่งที่กำลังรันในบานหน้าต่างไปยังเซสชั่น tmux อื่น?
การทำเช่นนี้เป็นไปได้หรือไม่ที่จะย้ายคำสั่งที่กำลังรันในบานหน้าต่างไปยังเซสชั่น tmux อื่น?
คำตอบ:
ใช่มันค่อนข้างง่ายใช้ move-pane
คำสั่ง tmux สำหรับการเรียกใช้ข้อมูลเพิ่มเติม
man tmux | less -I '+/mOVE-pane'
ส่วนที่ยุ่งยากคือการรู้ว่า tmux อ้างอิงเซสชันหน้าต่างและบานหน้าต่างในคำสั่งเพื่อจัดการบานหน้าต่าง ฯลฯ ได้อย่างไร
ย้ายไปที่บานหน้าต่างที่คุณต้องการย้ายไปยังเซสชันอื่น
รับชื่อเซสชันเป้าหมายโดยเรียกใช้ <prefix>s
ได้รับชื่อของเซสชั่นเป้าหมายโดยใช้
ในระบบของฉันที่ผลิต:
(0) + 0: 8 windows (attached)
(1) + 1: 1 windows
^
|
This is the session name. It could be different
on your system and it could be a word (not just a number).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
ดังนั้นในระบบของฉันฉันย้ายเข้าสู่บานหน้าต่างพร้อมกับกระบวนการทำงานรัน
<prefix>:move-pane -t 1:1
1
และบานหน้าต่างที่มีขั้นตอนในนั้นย้ายไปที่หน้าต่างหนึ่งในเซสชั่น
มันได้รับการแทรกเป็นการแยกดังนั้นโดยปกติคุณจะต้องการเรียกใช้หน้าต่างในเซสชั่นอื่น ๆ เป็นหน้าต่างการทิ้ง
หมายเหตุ: ดูเหมือนว่าหน้าต่างเป้าหมายไม่จำเป็นต้องมีอยู่มิฉะนั้นmove-pane
คำสั่งจะออกข้อผิดพลาด
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบของการประชุมระบุหน้าต่างและบานหน้าต่างภายในคำสั่ง tmux ให้ดูด้านในCOMMANDS
man tmux
ฉันไม่สามารถแสดงความคิดเห็นดังนั้นฉันจะวางไว้ที่นี่: สำหรับ tmux 2.1-3build1 ~ แม่นยำคำสั่งควรเป็น:
<prefix>:move-pane -t session_name:window_number
- คุณต้องมี " -t
" หน้าชื่อเซสชัน (ไม่จำเป็นต้องเป็นตัวเลข) และต้องมีหน้าต่างที่มีตัวเลขที่ระบุ
ทั้งหมดส่วนที่เหลือจะตามที่อธิบายthe_velour_fogในคำตอบของเขา
ป.ล. ถ้าคุณพิมพ์เพียงsession_name
ไม่window_number
ชอบ:
<prefix>:move-pane -t session_name:
,
จากนั้นบานหน้าต่างของคุณจะถูกย้ายไปที่หน้าต่างปัจจุบันของเซสชันปลายทาง (และหน้าต่างนี้จะถูกแบ่ง)
PPS ถ้าคุณต้องการย้ายหน้าต่างของคุณ (ไม่ใช่เฉพาะบานหน้าต่าง), มีคำตอบที่ดีเกี่ยวกับวิธีย้ายหน้าต่างระหว่างไคลเอนต์ tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
ที่src-window
และมีรูปแบบdst-window
session:window.pane
ฉันมีการใช้งานสองครั้งแต่ละครั้งใน iTerm ของพวกเขาเอง สิ่งที่ฉันต้องทำเพื่อย้ายบานหน้าต่างจากเซสชันหนึ่งไปยังอีกเซสชันหนึ่งคือ
เลือกบานหน้าต่าง
<leader>s <session>
โดยที่<session>
ตัวเลขภายในวงเล็บเหลี่ยม
tmux 2.7
<prefix>m
ให้ไปที่หน้าต่างปลายทางด้วยและย้ายบานหน้าต่างที่ทำเครื่องหมายไว้ที่นั่นด้วย<prefix>w
join-pane